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