首页 > 代码库 > Spring装配bean--02通过Java代码装配bean
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。