spring有三种装配bean的方式:隐式装配、java代码装配、xml装配
隐式装配最为省事方便,也称为自动化装配
这三种装配方式可以混搭着来用
在这里通过一个例子来讲述配置
CD的两个实现,一个是ThinkingJAVA,一个是LinuxBird
注解配置
定义bean
@Component public class ThinkingJAVA{ public void play(){ System.out.println("java思想"); } }
在这里ThinkingJAVA被Component标识成一个bean,bean的id自动为thinkingJAVA
@Component public class CDPlayer { @Autowired(required=true) public CD cd; public void play(){ cd.play(); } }
cdPlayer中有一个自动cd,被标识为自动装配,且一定会装配,如果容器中不存在CD类型的bean,那么就会报错,如果required=false,则表示可装配时装配,如果没有的装配则不会去装配
隐式装配
隐式装配既自动扫包
通过java代码开启自动扫包
@Configuration //扫描当前类的包及其自包 //@ConponentScan() //扫描string指定包及其子包 //不推荐这种方式,不利于代码重构,也不好检查错误 //@ConponenetScan(basePackages="soundsystem") //扫描指定class所在的包及其子包 //推荐这种方式,利于代码重构 //可以设置一个空接口用来标识基础包 //表示扫描CD类和CDPlayer所在的包及其子包 @ConponentScan(basePackageClasses={CD.class,CDPlayer.class}) public class CDPlayerConfig { }
最好把配置的类单独放在配置包,不要跟业务逻辑搅在一起
xml开启自动扫包
<context:component-scan base-package="要扫描的包及其子包"></context:component-scan>
在xml文件中加上这么一句
java代码装配
@Configuration public class CDPlayerConfig { //指定bean @Bean public ThinkingJAVA thingkingJAVA(){ return new ThinkingJAVA(); } @Bean public CDPlayer cDPlayer(){ return new CDPlayer(); } }
bean的id就是方法名
可以用java代码来构造出实例,所以很强大,有很多种可能性
混搭装配
java代码装配和xml装配可以整合起来
将两个java装配类合为一个
将他们合为一个SoundsystemConfig.class
@Configuration @Import(CDConfig.class,CDPlayer.class) //如果要整合xml //@ImportResource("classpath:cdconfig.xml") public class SoundsystemConfig { }
相关推荐
1.4 装配Bean-自动装配(重要!) Spring从两个角度来实现自动化装配: 组件扫描(component scanning):Spring会自动发现应用上下文中所创建的bean。 自动装配(autowiring):Spring自动满足bean之间的依赖。 1 ...
博客地址:https://blog.csdn.net/u010476739/article/details/76732201 spring装配bean的方式实例
有时候根据需求会动态的装配bean,注入到Controller中,现在提供两种方式: 一、xml文件配置方式,ApplicationContext.xml 二、@PostConstruct注解方式
spring 3.X 企业应用 第四章 在Ioc容器中装配Bean 手机拍的图片,略有缺页
装配bean——集合类型注入值: 本文介绍数组、list集合、set集合、map集合、properties的注值 博客原文地址:http://blog.csdn.net/tingzhiyi/article/details/52104203
主要给大家介绍了关于spring装配bean的3种方式,文中通过示例代码介绍的非常详细,对大家的学习或者使用Spring具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
主要介绍了spring boot中的条件装配bean的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
主要介绍了Spring @Conditional条件化装配bean,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要介绍了Spring自动装配Bean实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要介绍了spring在IoC容器中装配Bean详解,具有一定借鉴价值,需要的朋友可以参考下
主要介绍了spring装配bean方法实例总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
今天小编就为大家分享一篇关于在Spring中自动装配Bean的属性,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
本篇文章主要介绍了 Spring的自动装配Bean的三种方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
本篇文章主要介绍了浅谈Spring装配Bean之组件扫描和自动装配,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
运行环境eclipse。其Dynamic Web Project,Target Runtime为Apache Tomcat v8.5,Dynamic web module version 为 3.1。 目的:Spring容器已经成功获取了UserController实例,并通过调用实例中的方法执行了各层中的...
主要介绍了JSP Spring 自动化装配Bean实例详解的相关资料,需要的朋友可以参考下
NULL 博文链接:https://wujiu.iteye.com/blog/2010601
本篇文章主要介绍了详解Spring框架---IOC装配Bean,提供了三种方式实例化Bean,具有一定的参考价值,有兴趣的可以了解一下。
主要介绍了spring如何使用xml装配bean,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要介绍了spring定义和装配bean详解,具有一定参考价值,需要的朋友可以了解下。