PS:开发阶段不建议使用自动装配,以为它会使得类与类之间的依赖关系变得不明确!
加入有一个bean Bean2.java,它依赖于Bean3 ,Bean4 ,Bean5,代码如下:
public class Bean2 {
private Bean3 bean3;
private Bean4 bean4;
private Bean5 bean5;
public Bean3 getBean3() {
return bean3;
}
public void setBean3(Bean3 bean3) {
this.bean3 = bean3;
}
public Bean4 getBean4() {
return bean4;
}
public void setBean4(Bean4 bean4) {
this.bean4 = bean4;
}
public Bean5 getBean5() {
return bean5;
}
public void setBean5(Bean5 bean5) {
this.bean5 = bean5;
}
}
spring配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd"
default-autowire="byName"//注意这里,加上需要的装配样式,如果是根据类型自动装配就是byType
>
<!-- 原来是这样写的
<bean id="bean2" class="com.bjsxt.spring.Bean2">
<property name="bean3" ref="bean3"/>
<property name="bean4" ref="bean4"/>
<property name="bean5" ref="bean5"/>
</bean>
-->
<!--现在只需要这样写-->
<bean id="bean2" class="com.bjsxt.spring.Bean2"/>
<bean id="bean3" class="com.bjsxt.spring.Bean3"/>
<bean id="bean4" class="com.bjsxt.spring.Bean4"/>
<bean id="bean5" class="com.bjsxt.spring.Bean5"/>
</beans>
注意:
如果是根据名称自动装配(byName),那么bean2里的属性bean3,bean4,bean5就要和配置文件中的id一致,否则spring会找不到相应的名称而报错。
如果是根据类型自动装配(byType),则属性名和id号可以不一致,因为是以类型自动装配的,spring会自动根据‘类型’自动装配。
分享到:
相关推荐
(3)byType:根据属性 类型 自动装配,相同类型多个会抛出异常,设值注入 <bean class="xxx" ></bean> (4)constructor:与 byType 方式类似,不同之处是构造注入 <bean class="xxx" ></bean> 本例,演示 byName...
解决IDEA中自动装配,找不到类型的bean问题
本项目为Java项目,使用Spring实现自动装配,根据类型方式实现自动装配。适合初学者了解Spring不同装配方式。
《装配自动化与产品设计》以产品设计为基点,以装配自动化为目的,论述了自动机械的结构组成、输送及自动进给系统、定向机构、典型装配系统性能及其经济性分析、产品设计方法、装配工艺等方面的内容,涉及到产品设计...
springboot自动装配+条件注解+条件配置文件 博客地址:https://blog.csdn.net/qq_36963950/article/details/106980641
spring的自动装配
springboot自动装配的过程解析...
spring自动装配项目struts2,使用了struts2 ,spring2.5 ,hibernate,和spring 自动装配
第四章示例代码__自动装配
自动装配图集传送机构,讲述了目前在装配机构中所使用的多种传动运动的方式
Spring实现集合(List_Map_Set)_自动装配,适合初学者熟悉集合类型的装配。
Spring自动装配解析,具体效果和过程看博文 http://blog.csdn.net/evankaka/article/details/44836069
swagger-spring-boot-starter 是一款建立在swagger基础之上的工具包,利用SpringBoot自动装配的特性,简化了传统swagger的繁琐配置
Springboot 自动装配原理图文,里面描述了整个Springboot的装配流程和所有相关的组件。
深入源码底层分析springBoot自动装配原理并结合案例进行实战。
1.基于SpringBoot自动装配,引用jar包即可,坐标如下: <groupId>com.glzt</groupId> <artifactId>feignextend <version>1.0.0-SNAPSHOT 2.基于logback、log4j的MDC机制 3.日志配置中添加traceId引用,如下: ...
springboot的自定义自动默认配置(如果你不配置属性,就按照默认的来,如果配置了就按照你的来)
DemoSpringCoC 通过自动装配减少 XML 配置的示例
Spring中的自动装配有哪些限制?.docx Spring中的自动装配有哪些限制?.docx Spring中的自动装配有哪些限制?.docx
还在为装配体里零件需要一个一个手动图名分离而烦恼吗,此宏程序可以自动遍历装配体进行图名分离,并且写进配置属性里。