读Spring实战心得二装配Bean

一、Spring配置的可选方案(配置Bean)
简述:Spring容器负责创建应用程序中的bean并通过DI来协调这些对象之间的关系。
三种装配机制:
1.XML中显示配置
2.Java中显示配置
3.隐式的bean发现机制和自动装配

二、自动化装配bean
1.组件扫描–>Spring会自动发现应用上下文中所创建的bean
2.自动装配–>Spring自动满足bean之间的依赖

在JavaConfig中

@Component
public class CD1 implements CompactDisc{
	@Override
	public void play() {
		System.out.println("播放CD1的音乐!");
	}
}

@component注解
告知Spring要为这个创建bean
同时我们需要在JavaConfig
1.添加@configuration
2.添加@componentScan

在xml文件中开启组件扫描

<context:component-scan base-package="你想扫描的包"/>

@RunWith(SpringJUnit4ClassRunner.class)
自动加载上下文
@ContextConfiguration(classes=xxx.class)
这个注解告诉我们我从xxx.class作为配置类。

三、为组件扫描的bean命名和基础包命名
1、组件扫描命名
@Component(“abc”)
给了组件命名。
2、ComponentScan命名基础包
1.ComponentScan(“xxx”) or ComponentScan(basePackages=“xxx”)
设置了扫描的基础包
3.ComponentScan(basePackages={“xxx”,“yyy”})
设置了扫描的为xxx,与yyy的基础包

四、自动装配bean

@Autowired实现了自动装配
无论是setter与构造器均可。
一、通过JavaConfig来创建
@Bean
声明简单的bean
带@Bean注解的方法可以采用任何必要的Java功能来产生bean
二、通过xml来创建bean

1.首先用<beans><beans/>相当于@configuration
2.然后我们在<beans>里面写<bean>来装配bean

一个简单的bean

<bean id="simpleBean" class="xxxx"/>
id是bean的名字,class是他所属的类
如果不取名,则名字生成为bean的    class的小写字母开头和#0   (从0开始计数)

构造器注入bean
使用< constructor-arg >

<bean id="simpleBean" class="xxxx">
//构造器的参数 1.参数是其他bean
<constructor-arg ref="其他bean的id">
//2.参数是普通值
<constructor-arg value="aaaaaa">
<bean/>

使用c:

<bean id="x" class="xx" c:_参数名-ref=""/>
<bean id="x" class="xx" c:_参数名="值"/>
<bean id="x" class="xx" c:_0="值"/>

当参数是list时:

<constructor-arg>
<list>
<ref bean="bean的id">
或者
<value>asdasdasd</value>
</list>
</constructor-arg>

当一个类中有许多属性时

我们可以使用属性注入
public class NewKnight implements Knight{
	private Sword sword;
	public NewKnight(Sword sword){
		this.sword = sword;
	}
	@Override
	public void test(){
		sword.use();
	}
	@Override
	public void testWithAop() {
		System.out.println("我捐钱了");
	}
	
}

使用bean直接装配
<bean>
<property name="xxx" ref="xxx">
<property name="xxx" value="xxx">
</bean>

五、导入和混合配置
1.在JavaConfig中引入JavaConfig

@import(xxx.class)

2.在JavaConfig中引入xml配置文件

@importResourse("classpath:xxx.xml")

3.在xml中引用xml

<import resoune="xxxxx.xml"/>

4.xml中引用javaconfig
直接定义成bean即可

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值