spring中DI配置的三种方式

20187月3日星期二

随笔 笔记 --- spring的依赖注入

Spring装配bean有三种方式:

1. 自动化配置(最推荐,避免显示配置带来的维护成本)

1.1 组件扫描:spring自动发现容器所创建的bean。开启组件扫描,默认情况下自动扫描配置类相同包(以及子包)下所有带有@component注解的类,并为其自动创建一个bean

那么,如何开启组件扫描呢?

答:有两种方式,基于java配置(推荐)xml配置

Java配置:在配置类上添加@componentScan注解

Xml配置:利用<context:component-scan base-package=”...”/>

1.2 自动装配:spring自动满足bean之间的依赖。使用@Autowired(推荐)或@Inject注解添加在构造、setter还是其他方法上,实现bean的自动注入,无需手动去new

2. Java配置(推荐,基于java语言,类型安全易于重构)

利用@Bean注解来声明(创建)一个bean,同时还可以注入另外依赖的bean(利用构造器和setter方法)

3. Xml配置

3.1利用<bean>标签声明一个bean

举例 <bean id = “peoson” class=”soundsystem.Person” />

3.2 如何注入bean(构造器和setter方法)

构造器注入bean,举例

<bean id = “cdPlayer” class= “com.CDPlayer” >

    <constructor-arg ref=”cd” />

</bean>

构造器注入字面量,举例

<bean id = “...” class= “...”>

    <constructor-arg value=”...” />

</bean>

c命名空间注入bean,举例

<bean id = “...” class= “...”c:cd-ref=”...” />

c命名空间注入字面量,举例

<bean id = “...” class= “...” c:_...=”...” />

利用<list><set>等标签,构造器注入方式可以用来装配集合,而c命名空间不行。

Setter方法注入bean,举例

<bean id = “cdPlayer” class= “com.CDPlayer” >

    <property name = “...” ref = “...” />

</bean> 或者使用p命名空间

<bean id = “cdPlayer” class= “com.CDPlayer” p: cd-ref = “...” />

Setter方法注入字面量,举例

<bean id = “cdPlayer” class= “com.CDPlayer” >

    <property name = “...” value = “...” />

</bean> 或者使用p命名空间

<bean id = “cdPlayer” class= “com.CDPlayer” p: ... = “...” />

 

 

 

 

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值