Spring使用注解進(jìn)行引用類型的自動(dòng)裝配逐步分析
本系列文章將會(huì)帶領(lǐng)大家進(jìn)行Spring的全面學(xué)習(xí),持續(xù)關(guān)注我,不斷更新中…
一.案例分級(jí)

簡(jiǎn)單解析:配置類替代以前的配置文件,實(shí)體類提供對(duì)象,業(yè)務(wù)類中有實(shí)體類的引用對(duì)象,在業(yè)務(wù)層中實(shí)現(xiàn)引用類的自動(dòng)裝配。
二.各層代碼及詳細(xì)解析
配置類:(關(guān)于配置類中兩個(gè)注解的解釋可以參考前面文章)
package com.itheima.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration //設(shè)置為配置類
@ComponentScan("com.itheima") //在com.otheima這個(gè)包下掃描bean對(duì)象
public class SpringConfig {
}
實(shí)體類BookDaoImpl:
package com.itheima.dao.impl;
import com.itheima.dao.BookDao;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;
@Repository //注解注冊(cè)bean
public class BookDaoImpl implements BookDao {
public void save() {
System.out.println("book dao save ...");
}
}
實(shí)體接口BookDao:
package com.itheima.dao;
public interface BookDao {
public void save();
}
業(yè)務(wù)類BookServiceImol:
package com.itheima.service.impl;
import com.itheima.dao.BookDao;
import com.itheima.service.BookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class BookServiceImol implements BookService {
@Autowired
private BookDao bookDao;
public void save() {
System.out.println("book service save....");
bookDao.save();
}
}
@Service:注冊(cè)bean對(duì)象,在執(zhí)行類中使用getBean()方法獲取.
@Autowired:進(jìn)行自動(dòng)裝配,如果沒有此句話,將會(huì)出現(xiàn)以下錯(cuò)誤運(yùn)行結(jié)果:

業(yè)務(wù)接口BookService:
package com.itheima.service;
public interface BookService {
public void save();
}
執(zhí)行類App3:
package com.itheima;
import com.itheima.config.SpringConfig;
import com.itheima.dao.BookDao;
import com.itheima.service.BookService;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import java.awt.print.Book;
public class App3 {
public static void main(String[] args) {
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(SpringConfig.class);
BookService service=ctx.getBean(BookService.class);
service.save();
}
}
三.自動(dòng)裝配成功正確執(zhí)行結(jié)果

后續(xù)文章:使用注解進(jìn)行簡(jiǎn)單類型的自動(dòng)裝配
到此這篇關(guān)于Spring使用注解進(jìn)行引用類型的自動(dòng)裝配逐步分析的文章就介紹到這了,更多相關(guān)Spring自動(dòng)裝配內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何優(yōu)雅的實(shí)現(xiàn)將Collection轉(zhuǎn)為Map
這篇文章主要介紹了如何優(yōu)雅的實(shí)現(xiàn)將Collection轉(zhuǎn)為Map,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
Java中ReUtil正則表達(dá)式工具庫(kù)的使用
ReUtil是Hutool庫(kù)中的正則表達(dá)式工具類,提供了多種常用正則表達(dá)式操作方法,下面就來介紹一下ReUtil的使用,具有一定的參考價(jià)值,感興趣的可以了解一下2025-02-02
Spring?AOP?的實(shí)現(xiàn)和切點(diǎn)表達(dá)式的實(shí)現(xiàn)方式
本文給大家介紹了Spring?AOP的基本概念、通知類型、切點(diǎn)表達(dá)式和切面優(yōu)先級(jí),并通過示例代碼展示了如何實(shí)現(xiàn)這些功能,感興趣的朋友跟隨小編一起看看吧2024-12-12
Java操作mongodb增刪改查的基本操作實(shí)戰(zhàn)指南
MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù),由c++語(yǔ)言編寫,旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案,下面這篇文章主要給大家介紹了關(guān)于Java操作mongodb增刪改查的基本操作實(shí)戰(zhàn)指南,需要的朋友可以參考下2023-05-05
SpringBoot Session接口驗(yàn)證實(shí)現(xiàn)流程詳解
這篇文章主要介紹了SpringBoot+Session實(shí)現(xiàn)接口驗(yàn)證(過濾器+攔截器)文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-09-09

