1、在pom.xml中引入spring-context依赖
<dependencies>
<!-- Alt+ins pring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.6.RELEASE</version>
</dependency>
</dependencies>
2、在resources目录下创建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.xsd">
</beans>
3、可以在这个文件中配置所有需要注册到spring容器的bean;
<?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.xsd">
<bean class="org.javaboy.ioc.model.User" id="user"/>
</beans>
4、接着在main加载配置文件
package org.javaboy.ioc;
import org.javaboy.ioc.model.User;
import org.springframework.context.annotation.ClassPathBeanDefinitionScanner;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Main {
//psvm快速生成
public static void main(String[] args) {
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
}
}
5、通过getBean方法,可以从容器中获取对象
package org.javaboy.ioc;
import org.javaboy.ioc.model.User;
import org.springframework.context.annotation.ClassPathBeanDefinitionScanner;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Main {
//psvm快速生成
public static void main(String[] args) {
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
User u1 = (User) ctx.getBean("user");//方式一
User u2 = ctx.getBean("user", User.class);//方式二
User u3 = ctx.getBean(User.class);//方式三
System.out.println("u1 = " + u1);
System.out.println("u2 = " + u2);
System.out.println("u3 = " + u3);
}
}
ps.也可以用FileSystemXmlApplicationContext从操作系统路径下去寻找配置文件
FileSystemXmlApplicationContext ctx = new FileSystemXmlApplicationContext("D:\\MyStudy\\ioc01\\src\\main\\resources\\applicationContext.xml");
}