Spring装配bean--02通过Java代码装配bean
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring装配bean--02通过Java代码装配bean相关的知识,希望对你有一定的参考价值。
Spring容器负责创建应用程序中的bean并通过DI来协调这些对象之间的关系
Spring提供了三种主要的装配机制:
- 在XML中进行显式配置
- 在Java中进行显式配置
- 隐式的bean发现机制和自动装配
2在Java中显式配置
尽管在很多场景下通过组件扫描和自动装配实现Spring的自动化装配是更为推荐的方式,但是当你要将第三方库中的组件装配到你的应用中,这时就必须显式的配置bean
显式配置包括:Java和XML,我更推荐使用Java类配置,就像上文中的JavaConfig那样
JavaConfig与其它的Java代码又有所区别,JavaConfig仅仅是配置代码,这意味着它不包含任何业务逻辑,通常将JavaConfig放到单独的包中,使其与程序逻辑分离开来
声明简单的bean
在JavaConfig 中声明bean,我们需要编写一个方法,这个方法会返回所需类型的一个实例(对象),然后给这个方法添加@Bean注解
1 CD类 @Component("cd1")//括号内给该bean设置ID,若不设置则默认为类名首字母小写即cD public class CD { private String title = "最炫民族风"; private String artist = "凤凰传奇"; public void play() { System.out.println("当前播放: " + title + " 演唱者: " + artist); } } 2 CDplayer 播放器 @Component("cdPlayer") public class CDplayer { private CD cd; @Autowired public CDplayer(CD cd) { this.cd = cd; } public void play() { cd.play(); } } 3 JavaConfig配置类 @Component public class JavaConfig { @Bean//在不声明bean ID的情况下 默认 方法名 为 bean的ID getCD public CD getCD() { return new CD(); } @Bean//bean ID为getCDplayer public CDplayer getCDplayer(CD cd) //以参数的形式注入所需要的 CD类实例 { return new CDplayer(cd); } } 4 测试类 public class TestCase { @Test public void test01() { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(JavaConfig.class); CDplayer cp = (CDplayer) context.getBean("getCDplayer"); cp.play(); } }
5 console控制台结果
当前播放: 最炫民族风 演唱者: 凤凰传奇
以上是关于Spring装配bean--02通过Java代码装配bean的主要内容,如果未能解决你的问题,请参考以下文章