spring框架
**
控制反转步骤
**
开门见山,这篇博客详细讲一讲这个控制反转的步骤,Let 's go
![](https://i-blog.csdnimg.cn/blog_migrate/c3c82f7cd2bb4ae4d2ca96c047d51fd4.png)
控制反转嘛,上篇博客已经介绍了,它是由容器创建对象,然后交给使用者。那么容器怎么搞,我们接着看!!!
![](https://i-blog.csdnimg.cn/blog_migrate/f601695eb4c7633c39cb375d63274208.png)
步骤:
1、引入依赖(导包)
//四个spring核心jar包
spring-beans;
spring-core;
spring-context;
spring-expression;
//日志包
log4j
2、创建spring的全局配置文件:spring-config.xml
3、创建一个对象类,即用于创建的实体类
//实体类,随便给些属性。
public class Boss{
public void talk(){
System.out.println("The Boss is talking...");
}
}
4、将对象类交给spring管理,在spring-config.xml添加配置
首先,我们得要spring配置文件跟标签基本信息。
<?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-3.0.xsd">
<bean ... />
</beans>
然后,我们有三种方式创建bean对象(bean对象是用来创建Boss对象的),任选一种
无参构造函数
<bean id="boss" class="Boss"/>
静态工厂构造
<bean id="boss1" class="StaticFactory" factory-method="getBean"/>
普通工厂构造
<bean id="factory" class="CommonFactory" />
<bean id="boss2" factory-bean="factory" factory-method="getBean"/>
5、测试类使用对象
public class Test{
public static void main(String args[]){
ClassPathXmlApplicationContext context = new
ClassPathXmlApplicationContext("spring-config.xml");
Boss boss = (Boss)context.getBean("boss");
boss.talk();
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/0ec8b934cb70f28dd6cfec42b410013c.png)
注意:
bean标签内,id为context对象getBean的传参,class为文件相对Sources Root的路径。同样测试类给定的xml文件是相对于Resources Root的路径。
使用无参构造函数直接使用即可
使用构造工厂创建时先要给出工厂类
public class StaticFactory {
public static User getBean(){
return new User();
}
}
public class CommonFactory {
public User getBean(){
return new User();
}
}
使用静态工厂可直接用静态工厂的getBean方法创建Boss对象
使用普通工厂则先创建普通工厂类的对象,然后由对象调用getBean方法创建Boss对象(mian方法为static方法!!!)
这就是spring容器创建对象的方式。感受了IOC控制反转,那么之后DI依赖注入则是使用容器给对象赋值。
![](https://i-blog.csdnimg.cn/blog_migrate/c169a13962359728a0de9db41a62eab6.png)
返回 》
控制反转与依赖注入
下一篇 》
依赖注入方式