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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

【Spring实战4】04---装配Bean(自动装配)

發布時間:2025/3/20 javascript 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Spring实战4】04---装配Bean(自动装配) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

主要內容:

  • 聲明Bean
  • 構造器注入和Setter方法注入
  • 裝配Bean
  • 控制bean的創建和銷毀

Spring裝配Bean的3種機制

  • 在XML中進行顯式配置
  • 在Java中進行顯式配置
  • 隱式的bean發現機制和自動裝配

1、自動化裝配Bean,
組件掃描:spring會自動發現應用上下文所創建的Bean

自動化裝配:Spring自動滿足bean之間的依賴

例:CD需要插入Cd播放器中,那么cd才可以播放或者或者說注入,以spring編寫

定義Cd的概念,實現CompactDisc接口

package nh.spring.ioc.beans;/*** Created by niuh on 11/2/2016.*/ public interface CompactDisc {void play(); }

Cd可以有很多實現類,比如某人的某個專輯,用@Component注解完成實現類

package nh.spring.ioc.beans;import org.springframework.stereotype.Component;/*** Created by niuh on 11/2/2016.*/@Component public class sgtPappers implements CompactDisc {private String title = "nice!!!!!!!";private String artist = "heng";@Overridepublic void play() {System.out.print("title is " + title + " by " + artist);} }

@Component注解,表面該類是個組件類,告知Spring要為這個類自動創建bean,不過默認組件掃描是不啟用的,利用@ComponentScan啟用組件掃描

package nh.spring.ioc.beans;import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration;/*** Created by niuh on 11/2/2016.**/@Configuration @ComponentScan public class CdPlayConfig { }

?

整理一下,類CdPlayConfig在實例化時,通過java定義的spring裝配規則,@ComponentScan注解在Spring中啟用組件掃描,默認掃描與配置類相同的包,以及子包。查找所有帶有@Component注解的類,這樣就能找到CompactDisc,并為其創建一個Bean,完成組件掃描與自動裝配。

?

在上面代碼中Spring應用上下文會為Bean自動分配一個id,規則為首字母小寫,如果期望可以自定義id,則如下:

@Component("myId")

也可以使用java依賴注入中提供@Named設置ID

@Named("myId")

通過ComponentScan的basePackages屬性設置自動掃描的包

@ComponentScan(basePackages = "nh.spring.ioc")

?

最后通過注解為bean實現自動裝配

package nh.spring.ioc.beans;import org.springframework.beans.factory.annotation.Autowired;/*** Created by niuh on 11/2/2016.*/ public class CDplay implements MediaPlayer {private CompactDisc cd;@Autowiredpublic CDplay(CompactDisc cd) {this.cd = cd;}@Overridepublic void play() {cd.play();} }

使用Spring應用上下文尋找匹配摸個bean需求的其他bean,例子中表面Spring創建Cdplay時,會通過構造器來進行實例化并要找到一個CompactDisc類型的bean;

?

轉載于:https://www.cnblogs.com/hylinux/p/6023850.html

總結

以上是生活随笔為你收集整理的【Spring实战4】04---装配Bean(自动装配)的全部內容,希望文章能夠幫你解決所遇到的問題。

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