1. 程式人生 > >@Resource 註解失效的一種場景

@Resource 註解失效的一種場景

直接上乾貨,使用場景如下

// 工具類:  
@Component  
public class PdfUtil {  

    @Resource  
    private PublicConfig publicConfig;  

    public void test() {  
        System.out.println("配置檔案的絕對路徑:" + publicConfig.getResourceAbsolutePath());  
    }  
}  

// 服務類:  
@Service  
public class PdfService {  

    public
void usePdfUtil() { PdfUtil pdfUtil = new PdfUtil(); pdfUtil.test(); } }

服務類會報錯npe,原因就是工具類中publicConfig注入失敗了,為什麼呢?
這是因為PdfService是new出來的,所以PdfService中的@Resource失效了。

相關推薦

@Resource 註解失效場景

直接上乾貨,使用場景如下 // 工具類: @Component public class PdfUtil { @Resource private PublicConfig publicConfig; public

業務流的另外場景:工作協同流程

統一 協同 。。 比較 一個人 輸入 基於 解決 一點 今天給開發的討論業務流程,其中一個業務部門土匪甲的說道,我的流程可能不是固定的,隨時可變怎麽辦? 這下子開發的蒙圈了,屌絲A叫道:那怎麽行,你老變來變去,怎麽畫流程? 另一個屌絲B說,你老變,是不守規矩,說明你還沒有搞

Oracle CBO選錯執行計劃的場景

測試人員做應用效能測試,反饋有一條SQL語句,之前執行非常快,現在執行時間,明顯慢了。   SQL語句非常簡單,根據日期欄位,檢索當日表中記錄數, select count(*) from user.tbl where cki_date = to_date('201

MyBatis 中 @Param 註解的四使用場景,最後經常被人忽略!

有一些小夥伴覺得 MyBatis 只有方法中存在多個引數的時候,才需要新增 @Param 註解,其實這個理解是不準確的。即使 MyBatis 方法只有一個引數,也可能會用到 @Param 註解。 但是,在你總結出規律之前,你可能會覺得莫名其妙,有的時候一個引數明明不用新增 @Param 註解,有的時候,卻需

scala中Either的使用場景

未註冊 錯誤 用戶 異常 鏈接 正常的 進行 scala 除了 用scala有一年多了,對於scala中的Option和Try使用的較為頻繁,對其應用場景相對熟悉一些。而對於Either,仔細回想一下卻發現幾乎(完全)沒有使用過,其實並不是沒有遇到過Either的使用場景,

springboot事務失效可能

使用Springboot搭建web專案時,使用@Transactional註解進行事務管理,當service層方法沒有使用public修飾時,事務處理將會失效: Dao層程式碼 package com.iotek.myspringboot.myspringb

關於quartz定時任務實現Job介面無法註解為spring bean 的解決方案

  通常情況下,我們使用quartz之後,定時任務實現Job介面,並重寫execute()方法: public class QuartzJob1 implements Job { /** * quartz回撥此介面,此介面中為定時任務具體執行內容 *

Element 表單 resetFields() 驗證失效不同的場景(圖示)

  需求:當然是清除表單驗證(即下方紅色警告) 解決:這4種寫法絕對可以解決問題了。 A:_this.$refs['formName'].resetFields(); B:if (_this.$refs['formName'] != undefined){_this

關於Servlet3.0 註解無效的情況

解釋 Servlet 3.0 的部署描述檔案 web.xml 的頂層標籤 有一個 metadata-complete 屬性,該屬性指定當前的部署描述檔案是否是完全的。如果設定為 true,則容器在部

Java技術_每天掌握設計模式(002)_使用場景及簡單例項(建立型:單例模式)

1.模式描述 一個類有且僅有一個例項,並且自行例項化並向整個系統提供。 2.模式作用 保證某個類在系統中只有一個例項物件,對於特殊需求來說非常必要。 限制了例項個數有利於GC的回收。

Java技術_每天掌握設計模式(006)_使用場景及簡單例項(建立型:原型模式)

1.模式描述 用原型例項指定建立物件的種類,並且通過拷貝來建立新的物件。 2.模式作用 可以一定程度上解耦,消費者和物件的構造過程隔離開,物件如何構造與消費者完全無關。 可以一定程度提升效率,複雜物件的構造往往需要較長的時間(中間可能會進行復雜運算或者資料庫

導致微信JSSDK 自定義分享內容介面失效原因

在微信開發者工具上除錯分享介面成功,真機測試的時候卻失敗了。 後來發現是手機反應比較慢 wx.config()還未執行成功後面繫結分享按鈕事件的程式碼就開始執行了導致繫結失敗 因此在頁面載入時需

MySQL索引失效的幾場景

     我們都知道建立索引能夠提高查詢效率,那麼是不是任何情況下都能提高呢,當然不是的的,下面我們就來列舉一些常見的索引失效的場景。 借用上一篇文章的dm_person_info表 在card_code列沒加索引的時,查詢時間如下,大概都在0.07秒。  我們來加

跨域的另解決方案——CORS(Cross-Origin Resource Sharing)跨域資源共享

      在我們日常的專案開發時使用AJAX,傳統的Ajax請求只能獲取在同一個域名下面的資源,但是HTML5打破了這個限制,允許Ajax發起跨域的請求。瀏覽器是可以發起跨域請求的,比如你可以外鏈一個外域的圖片或者指令碼。但是Javascript指令碼是不能獲取這些資源的內容的,它只能被瀏覽器執行或渲染。主

Java技術_每天掌握設計模式(003)_使用場景及簡單例項(建立型:工廠方法)

1.模式描述 提供一個用於建立物件的介面(工廠介面),讓其實現類(工廠實現類)決定例項化哪一個類(產品類),並且由該實現類建立對應類的例項。 2.模式作用 可以一定程度上解耦,消費者和

Java練習筆記 -ThreadLocal的應用場景

用ThreadLocal來儲存資料庫連線 程式碼如下 public class DataSourceUtils {private static DataSource dataSource = new ComboPooledDataSource();private stat

基於註解的Spring MVC許可權控制方法

簡介 本文介紹一種採用annotation來對spring-mvc進行許可權控制的方法. 通過列舉類來定義許可權項. 將annotation標註到需要控制權限的spring-mvc方法上. 然後,在spring-mvc中定義全域性過濾器, 過濾所有sprin

elasticsearch陣列型別建立索引的應用場景

elasticsearch有各種core-type,另外還有各種複雜結構,比如nested,child-parent等。 array是一種常用的型別。在es中array是預設支援的,並不存在單獨的一個type=array。當你插入資料帶有“[]”的時候,這個field就成為

SpringMVC事務失效情況-bean載入順序問題

首先給大家看一個範例java代理的範例: public class MyInvocationHandler implements InvocationHandler { // 目標物件,也就是我們主要的業務,主要目的要做什麼事 private Object deleg

IE下COOKIE失效特殊情況

setcookie ("name", "value", 0, "/", ".example.com"); 使用以上程式碼設定cookie後,在非IE(chrome、firefox等)下訪問 test_1.example.com 均可正常獲取;使用IE訪問則獲取不到該coo