3.依赖注入 spring_di
概念:
依賴注入[Dependency Injection]指在運行期,由外部容器動態(tài)地將依賴對象[要使用的對象]注入到組件中.
?? ?注意: 依賴注入的前提是控制反轉(zhuǎn),被注入對象和接受注入的對象都必須被Spring容器管理.
方式1: setter方式
Java類:
private 普通屬性類型 屬性名; private 自定義類類型 屬性名; private 集合類型 屬性名; //提供setter和getter配置文件:
?? ?<bean id="Bean對象匿名" class="類全名"><property name="屬性名" value="值" /><property name="屬性名" ref="Bean對象匿名" /><property name="屬性名"><list>\<value><set>\<value><map>\<entry><props>\<prop></property></bean>方式2: 構(gòu)造函數(shù)
Java類:
private 普通屬性類型 屬性名; private 自定義類類型 屬性名; private 集合類型 屬性名; //提供有參構(gòu)造方法配置文件:
?? ?<bean id="Bean對象匿名" class="類全名"><constructor-arg index="參數(shù)索引" value="值" /><constructor-arg index="參數(shù)索引" type="類全名" ref="Bean對象匿名" /><constructor-arg index="參數(shù)索引" ><list/set/map/props>[參考setter方式]</constructor-arg></bean>方式3: 注解方式
Java類與配置文件:
? ? a.配置文件中context命名空間和context約束文件的地址
?? ?b.配置文件中添加<context:component-scan base-package="包名" />
?? ?c.在Java類的屬性或setter上添加注解: @Autowired或@Resource.
?? ?@Autowired:
?? ?格式: @Autowired [(required=true)]
?? ?說明:
? ? @Resource:
? ? 格式: @Resource[(name="Bean對象匿名")]
? ? 說明:
方式4: P命名空間
Java類:
? ? 提供屬性的setter和getter方法,無需其他操作.
配置文件:
? ? 第1步: 添加命名空間
? ? ? ? xmlns:p="http://www.springframework.org/schema/p"
? ? 第2步: 注冊bean,并注入數(shù)據(jù)
? ? ? ? <bean id="bean匿名" class="類全名" p:屬性名/屬性名-ref="值/匿名" />
總結(jié)
以上是生活随笔為你收集整理的3.依赖注入 spring_di的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 过年农村集市卖什么最好卖 以下几个项目受
- 下一篇: Boss直聘刷题