Bean的自动装配--NO模式
Spring IoC容器可以自动装配(autowire)相互协作bean之间的关联关系. 在xml配置文件中,autowire一共有五种类型,可以在<bean/>
元素中使用autowire属性来指定装配模式,自动装配可以减少配置的数量。
Autowire=’defalut’
autowire:在每个bean中都一个autowire=default的默认配置它的含义是:
采用beans和跟标签中的default-autowire="属性值"一样的设置。
配置文件中的代码
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"
default-autowire="no">
<bean id="empServiceImpl" class="cn.csdn.service.EmpServiceImpl"
scope="singleton" autowire="default " />
</beans>
红色字体含义:默认装配模式为no模式即EmpServiceImpl类不使用自动装配
第一种:
No模式:
Autoeire=’no’
不使用自动装配。必须通过ref元素指定依赖,这是默认设置。由于显式指定协作者可以使配置更灵活、更清晰,因此对于较大的部署配置,推荐采用该设置。而且在某种程度上,它也是系统架构的一种文档形式。
案例:
<bean id="teacherServiceImpl" class="cn.csdn.service.TeacherServiceImpl"
scope="singleton" autowire="no">
<property name="studentServiceImpl" ref="studentServiceImpl"></property>
</bean>
<bean id="studentServiceImpl" class="cn.csdn.service.StudentServiceImpl"
scope="singleton" />
Student类
public class StudentServiceImpl {
public StudentServiceImpl() {
System.out.println("studnetService初始化完成...");
}
}
Teacher类
public class TeacherServiceImpl {
private StudentServiceImpl studentServiceImpl;
public TeacherServiceImpl() {
System.out.println("teacherservice初始化完毕...");
}
public void setStudentServiceImpl(StudentServiceImpl studentServiceImpl) {
this.studentServiceImpl = studentServiceImpl;
}
public void insert(){
System.out.println("测试no解析。。。。");
}
}