Spring的系统学习1-DI 装配bean

Bean 的配置

  • 自动化装配
    @component 组件扫描 + @autowired 自动装配
    ||ps: 默认的beanId=类名的第一个字母小写,可以用@component(“benaId”)
    ||@autowired 可以用在构造器和setter方法上,required可以设成false,找不到或者有多个适配的会报错
    ||@Inject : java依赖注入规范
    @componentScan + @configuration 启动组件扫描 可以设置base-package
    ps: @componentScan(basepackages={“dada”,“dada”}), @componentScan(baseClasses={dada.class})
    @RunWith(SpringJunit4ClassRunner.class)+@ContextConfiguration(classes=CDPlayerConfig.class) 测试用

  • java代码配置
    @configuration 表明这是一个配置类 + @Bean 声明这个方法会返回一个对象
    || beanId 和方法名一样, @Bean(name=“test”)可以设置beanId
    || spring 会拦截所有@bean注解的方法的调用,并确保返回该方法创建的bean,并不会实际调用

  • xml配置
    <bean class="soundsystem.SgtPeppers />
    || beanId为soundsystem.SgtPeppers#0 ,<bean id=“dada” class="soundsystem.SgtPeppers /> 来指定beanId
    || 声明DI <constructor-arg ref="compactDisc/> 或者 c:cd-ref=“compactDisc” (【cd】 为参数的名称)
    || c:0-ref=“compactDisc” 或者 c:-ref=“compactDisc”(只有一个参数的时候)
    || <constructor-arg value="val /> 将字面量注入到构造器中 c:_title=“this title” 或者 c:0=“titile”
    || c:
    =“value”(只有一个参数的时候)
    || <constructor-arg <null </constructor-arg

<constructor-arg>
	<list>
		<value></value>
	</list>
 </constructor-arg>
 或者
 <constructor-arg>
	<list>
		<ref bean="spa"/>
	</list>
 </constructor-arg>
 c标签无法实现集合的配置

|| <property name=“compatDisc” ref="compatDisc 或者 p:compactDisc-red=“compactDisc” , 属性注入
|| <property name=“title” value=“title”
|| p:tracks-ref="tracklist

<unit:list id="tracklist">
  <value>value1</value>
</unit:list>
  • 导入和混合配置
    java代码配置
    || @Import(distConfig.class) 导入java代码配置
    || @ImportResource(“classpath:cd-config.xml”) 导入xml配置
    xml配置
    ||<import resource="cd-config.xml />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值