Spring框架中,在工具類或者普通Java類中調用service或dao


spring注解的作用:

1、spring作用在類上的注解有@Component、@Responsity、@Service以及@Controller;而@Autowired和@Resource是用來修飾字段、構造函數或者設置方法,並做注入的。

2、當注解作用在類上時,表明這些類是交給spring容器進行管理的,而當使用@Autowired和@Resource時,表明我需要某個屬性、方法或字段,但是並不需要我自己去new一個,只需要使用注解, spring容器會自動的將我需要的屬性、方法或對象創造出來。這就是通常所說的依賴注入和控制反轉。

 

言歸正傳,下面說一下怎么在普通類中引用service或dao。

實例代碼如下:項目啟動后會在控制台輸出System.out.println中的內容。其中

@PostContruct是spring框架的注解,在方法上加該注解會在項目啟動的時候執行該方法,也可以理解為在spring容器初始化的時候執行該方法。

與@PostConstruct一樣,也可以在spring的配置文件中,配置init-method也可以達到項目啟動時將某一個方法一起啟動的目的。如下:

<bean id="commonUtil" class="cn.xydata.pharmacy.util.CommonUtil" scope="singleton"  init-method="init"></bean>
package com.wg.util;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import com.wg.bean.Message;
import com.wg.dao.MessageDao;

@Component
public class CommonUtil {

    @Resource
    private MessageDao messageDao;
    
    private static CommonUtil commonUtil;
    
    @PostConstruct
    public void init(){
        commonUtil = this;
        System.out.println("測試一下***********"+getMessages());
    }
    
    public static List<Message> getMessages(){
        List<Message> messages = commonUtil.messageDao.getBean();
        return messages;
    }
}

參考文檔:https://blog.csdn.net/chrise_/article/details/80338565


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM