微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Spring学习笔记Day2: 装配Bean

《Spring实战》学习笔记:装配Bean

一、装配

Spring框架的核心是spring容器。容器负责管理应用中组件的生命周期,它会创建这些组件并保证他们的依赖能得到满足。创建应用对象之间协作关系的行为称为装配,这也是依赖注入的本质。

二、装配Bean的三种方式

2.1 自动化配置

Spring从两个角度来实现自动化装配:
1、组件扫描(component scanning):Spring会自动发现应用上下文中所创建的bean。注意,组件扫描认是不启用的,需要显式配置一下。
2、自动装配(autowiring):Spring自动满足bean之间的依赖。@Autowired(Spring特有的注解) @Inject(来源于Java依赖注入规范)

2.2 基于Java的配置

1、创建配置类
创建JavaConfigure类的关键在于为其添加@Configuration注解。该注解表明这个类是一个配置类,应该包含在Spring应用上下文中如何创建bean的细节。
2、申明简单的bean
@Bean注解会告诉Spring这个方法会返回一个对象,该对象要注册为Spring应用上下文中的bean,方法体中包含了产生bean实例的逻辑。

@Bean
public Compactdisc sgtPeppers(){
     return new SgtPeppers();
}

3、借助JavaConfig实现注入
在JavaConfig中装配bean的最简单的方式是引用创建bean的方法。需要注意的是,sgtPeppers()方法添加了@Bean注解,Spring将会拦截所有对它的调用,确保直接返回该方法所创建的bean,而不是每次都对其进行实际的调用。在认情况下,Spring中的bean都是单例的。

@Bean
public Cdplayer cdplayer(){
 return new Cdplayer (sgtPeppers());
}

2.3 基于XML的显式配置

1、创建XML配置规范
要创建一个XML文件,以<bean>元素为根。
2、声明一个简单的<bean>
没有明确给定id,这个bean将会根据全限定类名命名。

<bean class = "Soundsystem.SgtPeppers" />

尽管自动化的bean命名很方便,但极不方便在之后引用。我们需要给定id属性

<bean id="compactdisc" class = "Soundsystem.SgtPeppers" />

3、借助构造器注入初始化bean
4、设置属性

三、总结

1、尽可能地使用自动装配机制,减少显示配置的使用。在必须使用显示配置的时候,尽量使用类型安全、功能更强大的基于Java的配置。当想要使用便利的XML命名空间,并且在基于Java的配置中没有同样的实现时,才应该使用基于XML的显式配置。
2、JavaConfig优于XML点在于,前者功能更强大,类型安全、易于重构。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。