bean的加載方式四 @import
第四種bean的導入方式
是import導入的方式
在配置類上面加上注解就行
package com.bigdata1421.config;import com.bigdata1421.bean.Dog;
import org.springframework.context.annotation.Import;@Import(Dog.class)
public class SpringConfig4 {}
這個注解只能用一次
只能寫一行
我們在APP類里面啟動一下
package com.bigdata1421.bean.app;import com.bigdata1421.bean.Dog;
import com.bigdata1421.config.SpringConfig3;
import com.bigdata1421.config.SpringConfig32;
import com.bigdata1421.config.SpringConfig4;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class App32 {public static void main(String[] args) {ApplicationContext ctx=new AnnotationConfigApplicationContext(SpringConfig4.class);String[] arr = ctx.getBeanDefinitionNames();for (String s : arr) {System.out.println(s);}System.out.println();System.out.println(ctx.getBean(Dog.class));}
}
首先我們是創建bean實例類ApplicationContext類的對象
導入剛剛寫的配置類的類加載器
我們用這個對象去調用里面的方法獲取當前配置類里面的所有bean
把名稱返回到一個字符串數組里面
我們用增強for循環遍歷這個數組打印
輸出在控制臺
發現我們用Import注解導入的bean被成功加載
我們也可以獲取一下這個對象
成功打印
如果找不到bean的話 就會報錯
我們用注解創建的bean是全路徑類名
我們注意我們的這邊
并沒有把Dog類標記為一個bean
用@Component注解及其衍生注解
這就代表我們可以進行有效的解耦
spring倡導無入侵式編程理念
Spring 框架倡導的無入侵式編程理念指的是,在使用 Spring 框架開發應用程序時,你的業務邏輯代碼不需要依賴于 Spring 特定的類或接口,也不需要繼承 Spring 的特定類。換句話說,你可以在不改變代碼結構的情況下,將 Spring 框架集成到現有的應用中,并且可以很容易地移植到其他環境中,而不會受到 Spring 框架的限制或影響。
具體來說,Spring 框架通過依賴注入(Dependency Injection)和面向切面編程(Aspect-Oriented Programming)等技術,實現了控制反轉(IoC)和面向切面編程(AOP),使得應用程序中的組件(如業務邏輯、數據訪問等)能夠獨立于框架進行開發和測試。這種方式使得代碼的可維護性和擴展性大大提高,同時降低了框架引入和替換的風險和成本。
總之,Spring 的無入侵式編程理念使得開發者可以更加專注于業務邏輯的實現,而不必過多關注框架的具體實現細節,從而提高了開發效率和代碼質量。
只需要一個注解就行 十分的方便
小結
這是框架內部經常用到的一種初始化bean的方式
這也是很多spring整合其他技術時的一種手段
個人號推廣
博客主頁
多多!-CSDN博客
Web后端開發
https://blog.csdn.net/qq_30500575/category_12624592.html?spm=1001.2014.3001.5482
Web前端開發
https://blog.csdn.net/qq_30500575/category_12642989.html?spm=1001.2014.3001.5482
數據庫開發
https://blog.csdn.net/qq_30500575/category_12651993.html?spm=1001.2014.3001.5482
項目實戰
https://blog.csdn.net/qq_30500575/category_12699801.html?spm=1001.2014.3001.5482
算法與數據結構
https://blog.csdn.net/qq_30500575/category_12630954.html?spm=1001.2014.3001.5482
計算機基礎
https://blog.csdn.net/qq_30500575/category_12701605.html?spm=1001.2014.3001.5482
回憶錄
https://blog.csdn.net/qq_30500575/category_12620276.html?spm=1001.2014.3001.5482