05_IOC容器装配Bean(注解方式)
IOC容器裝配Bean(注解方式)?
1.使用注解方式進(jìn)行Bean注冊?
? ??xml?方式:?<bean?id=""?class="">?
spring2.5版本?提供一組注解,完成Bean注冊?
? ??*?@Component?描述Spring框架中Bean?
導(dǎo)入jar?和?xml方式開發(fā)是相同的?
第一步?編寫Class,在聲明上?添加?@Component?
第二步?編寫applicationContext.xml?通知Spring注解類所在包?
*?需要引入?context?名稱空間?
*?@Repository?用于對DAO實(shí)現(xiàn)類進(jìn)行標(biāo)注?(持久層)
*?@Service?用于對Service實(shí)現(xiàn)類進(jìn)行標(biāo)注?(業(yè)務(wù)層)
*?@Controller?用于對Controller實(shí)現(xiàn)類進(jìn)行標(biāo)注?(表現(xiàn)層)
?
2.屬性依賴注入?
1)?簡單屬性的注入?通過?@Value注解完成,不需要提供setter方法
2)?復(fù)雜屬性注入,通過@Autowired注解?完成Bean自動裝配?
@Autowired?默認(rèn)按照類型進(jìn)行注入?
?
@Autowired注解?結(jié)合?@Qualifer注解按照名稱注入
?
3)?使用@Resource注解?完成復(fù)雜對象Bean裝配?
@Resource和@Autowired注解功能相似
?
3.Bean其它屬性設(shè)置?
1)?指定Bean的初始化方法和銷毀方法(注解)??<bean?init-method=""?destroy-method=""?/>
@PostConstruct??作用?init-method
@PreDestroy??作用?destroy-method?
2)?Bean的作用范圍??<bean?scope=""?/>?
@Scope?注解?,默認(rèn)作用域?singleton?單例?
4.Spring3.0?提供?注冊Bean的注解
@Configuration?指定POJO類為Spring提供Bean定義信息
@Bean?提供一個Bean定義信息
?
先定義2個JavaBean:
?
5.xml和注解混合使用?
很多企業(yè)開發(fā)者?還是采用xml作為主流配置?
*?Bean?注冊?通過XML完成
*?注入使用?@Autowired?注解完成?
?將2個Dao注入到Service
<context:annotation-config/>?啟用四個注解?使@Resource、@?PostConstruct、@?PreDestroy、@Autowired注解生效
結(jié)論?:
???1、?xml配置?和?注解配置?效果完全相同?
???2、?如果Bean?來自第三方(源碼無法改動),?必須使用xml???
???3、?Spring3.0?Bean注冊方式,?使用比較少,主要用于Bean?構(gòu)造邏輯及其復(fù)雜
轉(zhuǎn)載于:https://www.cnblogs.com/tangwan/p/4674974.html
總結(jié)
以上是生活随笔為你收集整理的05_IOC容器装配Bean(注解方式)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Javascript 链式运动框架——逐
- 下一篇: jstl fmt:formatNumbe