Spring IOC复习笔记
最近趁着公司项目不是很忙的时候抽空复习下框架知识,随着项目开发的深入竟然有种越来越业余的感觉了,各种各样的框架,各式各样的封装整的人都没一点自己的思想和主见了,而且对于之前学习的很多东西都逐渐的模糊了。现在抽空整理复习一下,做下笔记将来忘了可以随时过来查笔记呵呵。
Spring IOC Inverse Of Control Spring中的控制反转实际也就是把我们常用的一些bean对象交给IOC容器去创建和管理,不用再在程序中来手动创建和维护了。
首先来看看DI Dependency Injection常用的依赖注入有三种方式:接口方法注入,setter方法注入和构造方法注入。
1.接口注入:
接口注入式是指客户类所有的注入方法抽取到一个接口中,客户类通过实现这一接口提供的注入方法。
1).提供接口
public interface IService{
public void go();
}
2).接口实现类
pubic class Service implements IService{
public void go(){
System.out.println("接口注入方法=========");
}
}
3).注入接口
public interface Injectable{
void injecService(IService service);
}
4).注入接口实现类
public class Consumer implements Injectable{
private IService service=null;
public void doSomething(){
service.go();
}
}
public static void main(String args[]){
IService service =new Service();
Consumer consumer=new Consumer();
consumer.injecService(service);
consumer.doSomething();
}
2.setter方法注入
通过setter方法注入将一些属性的值配置到xml文件中然后在从中读取
1)属性类
public class UpperAction{
private Stirng message;
public String getMessage(){
return message;
}
public void setMessage(String string){
message=string;
}
}
2)。配置applicationContext.xml文件
<bean id="theUpperAction" class="UpperAction">
<property name="mesage"><!--这里的message对应setter方法后面紧跟的参数-->
<value>setter方法注入测试成功!!!</value>
</property>
</bean>
3).测试注入方法
public class TestSetter{
public static void main(String args[]){
Resource re=new ClassPathResource("applicatonContext.xml");
BeanFactory factory=new XmlBeanFactory(re);
UpperAction upper=(UpperAction)factory.getBean("theUpperAction");
System.out.println("==="+upper.getMessage());
}
}
3.构造方法注入
1).属性所在的类
public class User{
private String userName;
private String password;
属性对应的set和get方法.......
}
2).XML配置文件
<bean id="user" class="User">
<constructor-arg index="0">
<value>admin</value>
</constructor-arg>
<constructor-arg index="1">
<value>123</value>
</constructor-arg>
</bean>
转载于:https://blog.51cto.com/4363738/793384