标签:public 值类型 depend dao 自动装配 类型 cti inject get
1、简单类型和复合类型的setter注入
DI:Dependency Injection(依赖注入)
从字面上分析:
IoC:指将对象的创建权,反转到Spring容器
DI:指Spring容器创建对象的过程中,将对象依赖属性通过配置进行注入
其实它们是同一个概念的不同角度描述。DI相对IoC而言,明确描述了“被注入对象依赖IoC容器配置依赖对象”。
1)怎么注入值:
方式1:属性注入,通过setter方法;
方式2:构造器注入,通过构造器;
2)注入的方式:
手动装配:
基于XML:
基于注解:
自动装配:不安全,不推荐
3)注入哪些类型的值:
①简单值类型:基本类型+String+URL等
②复合类型(对象类型):
③集合类型(了解,框架内部使用)
public class Employee{
private String name;
private Integer age;
private Double salary;
private URL url;
// 省略getter、setter方法
}
<!-- ①简单值类型:基本类型+String+URL等 -->
<bean id="employee" class="Employee全限定名">
<property name="name" value="John"/>
<property name="age" value="20"/>
<property name="salary" value="5000"/>
<property name="url" value="http://www.baidu.com"/>
</bean>
<!-- ②复合类型 -->
<bean id="employeeDao" class="EmployeeDao全限定名"/>
<bean id="employeeService" class="EmployeeService全限定名">
<property name="employeeDao" ref="employeeDao"/>
</bean>
public class EmployeeService{
private EmployeeDao employeeDao;
public void setEmployeeDao(EmployeeDao employeeDao){
employeeDao = employeeDao;
}
public void save(){
employeeDao.save();
System.out.println("Service.save()")
}
}
public class EmployeeeDao{
public void save(){
System.out.println("Dao.save()")
}
}
有的时候,若想只有一个bean引用另一个bean,类似于匿名内部类
<bean id="employeeService" class="EmployeeDao全限定名">
<property name="employeeDao">
<bean class="EmployeeDao全限定名"/>
</property>
</bean>
标签:public 值类型 depend dao 自动装配 类型 cti inject get
原文地址:http://www.cnblogs.com/luomsg/p/6420640.html