javascript
Spring第八发—自动装配及让Spring自动扫描和管理Bean
依賴注入–自動裝配依賴對象(了解即可)
對于自動裝配,大家了解一下就可以了,實在不推薦大家使用。例子:
byName:按名稱裝配,可以根據屬性的名稱,在容器中尋找跟該屬性名相同的bean,如果沒有找到,即屬性值為null。
constructor與byType的方式類似,不同之處在于它應用于構造器參數。如果在容器中沒有找到與構造器參數類型一致的bean,那么將會拋出異常。
autodetect:通過bean類的自省機制(introspection)來決定是使用constructor還是byType方式進行自動裝配。如果發現默認的構造器,那么將使用byType方式。
造器參數。如果在容器中沒有找到與構造器參數類型一致的bean,那么將會拋出異常。
autodetect:通過bean類的自省機制(introspection)來決定是使用constructor還是byType方式進行自動裝配。如果發現默認的構造器,那么將使用byType方式。
通過在classpath自動掃描方式把組件納入spring容器中管理
前面的例子我們都是使用XML的bean定義來配置組件。在一個稍大的項目中,通常會有上百個組件,如果這些這組件采用xml的bean定義來配置,顯然會增加配置文件的體積,查找及維護起來也不太方便。spring2.5為我們引入了組件自動掃描機制,他可以在類路徑底下尋找標注了@Component、@Service、@Controller、@Repository注解的類,并把這些類納入進spring容器中管理。它的作用和在xml文件中使用bean節點配置組件是一樣的。要使用自動掃描機制,我們需要打開以下配置信息:
| 1 2 3 4 5 6 7 8 9 | <beans xmlns="http://www.springframework.org/schema/beans" ?????? xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ?????? xmlns:context="http://www.springframework.org/schema/context" ?????? xsi:schemaLocation="http://www.springframework.org/schema/beans ?????????? http://www.springframework.org/schema/beans/spring-beans-2.5.xsd ?????????? http://www.springframework.org/schema/context ?????????? http://www.springframework.org/schema/context/spring-context-2.5.xsd"> ??????????<context:component-scan base-package="zmc"/> </beans> |
其中base-package為需要掃描的包(含子包)。 @Service用于標注業務層組件、 @Controller用于標注控制層組件(如struts中的action)、@Repository用于標注數據訪問組件,即DAO組件。而@Component泛指組件,當組件不好歸類的時候,我們可以使用這個注解進行標注,它們的作用都是相同的。
| 1 | ??<context:component-scan base-package="zmc"/> |
以上這條配置語句注冊了許多處理器,它包含了之前注解依賴注入方式的注冊的處理器。
@Scope(“prototype”)可以用來指定作用域。
@PostConstruct可以用來初始化bean。
@PreDestroy摧毀方法,常用關閉資源。
轉載于:https://www.cnblogs.com/zhangmingcheng/p/6548784.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Spring第八发—自动装配及让Spring自动扫描和管理Bean的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑win7系统怎么破解密码 win7系
- 下一篇: JS设计模式三:策略模式