Ioc容器
Ioc容器也称控制反转容器,也是spring项目的容器,在Ioc容器中注入依赖,在原始开发中没有Ioc容器时,我们需要一一对其依赖写入,如果很多的话就会是一个复杂的工程,要去花大量的时间去构造很多层次的对象。有了spring Ioc容器可以很方便的创建和构建对象,只需要在配置文件中指定如何构建,再类编写好的时候就指定了,在拿去使用的时候,就不需要关心类编写的层次和内容,所以Ioc容器可以将我们主动改对象变成被动接受对象,这也是控制反转的由来。
Ioc容器最基础的org.springframework.beans和org.springframework.context两个包
使用maven创建Spring,首先在pom.xml中导入包,在dependencies节点下插入,该包可以很快创建出spring项目,不需要全部到导入。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
创建一个简单的示例,在Java文件目录下创建com.text.User类。
public class User {
private String name;
public String getName() {
return name;
}
//set必须有,不然beans.xml中的property标签中的name属性值会出现报错
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "user:"+this.name;
}
}
ioc容器中配置元数据
在idea创建maven项目中resources文件目录下创建beans.xml
<?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
https://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="user" class="com.text.User">
<property name="name" value="nihao"/>
</bean>
</beans>
创建测试类
在test中的Java目录下创建一个mytest.java测试类并运行。
public class myTest {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
User user=(User) context.getBean("user");
System.out.println(user.toString());
}
}