Spring学习笔记-C2-Spring装配Bean
来源:互联网 发布:知乎 保利,金茂 编辑:程序博客网 时间:2024/05/22 17:11
Chapter02 装配Bean
2.1 Sprig装配Bean的方式
Spring装配Bean的方案有三种,任选其一。
- 在XML中进行显示配置
- 在Java中进行显示配置
- 隐式的bean发现机制和自动装配
自动化装配Bean
Spring从两个角度来实现自动化装备:
- 组件扫描component scanning:Spring自动发现应用上下文所创建的bean
- 自动装配autowiring:Spring自动满足bean之间的依赖
2.2 Spring自动扫描Bean
我们不使用上一章那种XML的方式将bean配置,而是采用基于Java的配置方法。
创建一个接口
public interface CompactDisc{ void play();}
创建实现类,@Component注解将该类标识为由Spring管理的组件
@Componentpublic class Jay implements CompactDisc{ private String title = "七里香"; private String artist = "周杰伦"; public void play() { System.out.println("播放器正在播放 " + title + "-" + artist); }}
创建Spring的Java配置类,其中ComponentScan默认扫描当前包下的所有被标示为@Component(其实还包括@Server、@Repository等等),ComponentScan可以配置扫描路径,如果不写就只扫描当前包。
@Configuration@ComponentScanpublic class CDPlayerConfig{}
如果不采用上面的Java配置方法,我们可以使用XML配置要扫描的路径。
<!--自动扫描--><context:component-scan base-package="chapter02"/>
然后我们就可以使用测试一下是否注入成功了
有两种读取配置的方式可以选择,被注释的部分是读取Java配置类,后者是读取xml配置文件。
@RunWith(SpringJUnit4ClassRunner.class)//@ContextConfiguration(classes = CDPlayerConfig.class)@ContextConfiguration(locations = "classpath:spring/applicationContext.xml")public class CDPlyaerTest{ @Autowired private CompactDisc cd; @Test public void componentTest() { cd.play(); }}
输出 播放器正在播放 七里香-周杰伦
2.3 Spring自动装配Bean
@Autowired自动装配注解可以用在类的属性、setter方法、其他方法上。
不过一般来说我们都是用在属性上,如上面的装配CD的例子。
当然,如果不愿意使用Spring特有的@Autowired来注解,也可以使用@Inject(Java依赖注入规范),来注解。在我们声明类为组件时使用@Component来注解,也可以使用Java提供的@Named来注解。推荐使用Spring特有的注解。
1 0
- Spring学习笔记-C2-Spring装配Bean
- Spring笔记---装配Bean
- Spring学习-装配Bean
- Spring学习-装配Bean
- Spring学习笔记之Bean装配
- Spring学习笔记之Bean的装配
- [学习笔记]spring实战-装配Bean
- Spring学习笔记—装配Bean
- 【Spring学习笔记四】-自动装配Bean
- Spring学习笔记之自动化装配Bean
- Spring学习笔记一:装配Bean
- 2.Spring学习笔记之装配Bean
- spring学习笔记2--bean装配
- Spring学习笔记(二) --- 装配Bean之自动化装配
- Spring学习笔记(四) --- 装配Bean之通过XML装配
- Spring学习笔记(六) --- 装配Bean之高级装配
- spring学习笔记——spring框架bean装配流水线
- Spring学习笔记(9.Spring Bean装配之Resource)
- python小结
- 【OpenCV入门教程之九】 非线性滤波专场:中值滤波、双边滤波
- 6.6
- strcpy sprintf memcpy 区别
- 使用到的Linux的几个常用命令(1)
- Spring学习笔记-C2-Spring装配Bean
- 学习笔记--mysql索引(三) 独立的列,前缀索引和索引的选择性
- eclipse 创建maven 项目 动态web工程完整示例
- spring整合cxf入门案例
- Hadoop-统计红楼梦里出现名字的次数(MapReduce学习)
- Divide Two Integers
- Google下拉刷新组件SwipeRefreshLayout的使用
- sublime text 3配置c/c++编译环境
- Maven中的archetype快速搭建一个代码开发架构 Spring-MVC