日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

spring中基于Java容器配置注解的区别及使用场景

發布時間:2024/7/23 java 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring中基于Java容器配置注解的区别及使用场景 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自百家號作者:有趣的代碼

@Component、@Service、@Controller、@Repository;@Configuration、@Bean區別,使用場景

從spring3.0開始,基于javaconfig的項目,支持使用java來定義bean,而不是傳統的xml文件。@Component是一個通用的stereotype,可以用于任何受容器管理的bean。而@Service、@Controller、@Repository是用于特殊形式的@Component,注解在類型上,但本質是一樣的。

在@Configuration中配合@ComponentScan使用,spring 自動檢測stereotype類,然后在application context注冊相應的bean definition。在運行時會生成CGLIB的子類,在調用父類方法前,子類會先查找緩存。從spring3.2開始,CGLIB已經被包含在spring中。

CGLIB的限制:

1、@Configuration注解的類不能是final;

2、從4.3開始,任何構造函數都允許在配置類上使用,包括使用@Autowired或用于默認注入的單個非默認構造函數聲明。

3、若不想要CGLIB對bean的限制,則可以使用@Component作為配置類,跨方法的調用不會被攔截,因此你必須使用構造函數或方法級別的依賴注入。

@Bean注解在方法上,用于實現工廠方法。與@Configuration搭配使用,不同的方法(只new一次)代表相同的實例,可以用于內部bean的依賴只需要調用另一個bean相應的方法;而與@Component搭配使用,不同的方法(只new一次)代表不同的實例,即不能用于內部bean的依賴。

若是第三方服務想由spring容器管理,則需要使用@Bean注解提供工廠方法。若是自己的服務則可以注解@Component(@Service、@Controller、@Repository),由容器自動掃描。

?為了讓學習變得輕松、高效,今天給大家免費分享一套Java教學資源。幫助大家在成為Java架構師的道路上披荊斬棘。需要資料的歡迎加入學習交流群:9285,05736

總結

以上是生活随笔為你收集整理的spring中基于Java容器配置注解的区别及使用场景的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。