Spring随笔(06)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)的主要内容,如果未能解决你的问题,请参考以下文章
找到多个名为 [spring_web] 的片段。这对于相对排序是不合法的
使用片段时 Intellij 无法正确识别 Thymeleaf 模型变量
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段
初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段