理解:
Spring核心技术是IOC容器,负责对象的整个生命周期的管理–创建、装配、销毁。容器只是给我们提供了一个管理对象的空间,具体我们怎么通过容器管理对象呢?这就用到了Spring ApplicationContext。
当我们通过注解或者XML文件方式,配置好Bean和Bean的依赖关系,这个时候ApplicationContext将配置加载到IOC容器,让Spring IOC替我们管理对象,当我们需要的时候直接从容器中获取即可。
- AnnotationConfigApplicationContext:从一个或多个基于java的配置类中加载上下文定义,适用于java注解的方式
- ClassPathXmlApplicationContext:从类路径下的一个或多个xml配置文件中加载上下文定义,适用于xml配置的方式
- FileSystemXmlApplicationContext:从文件系统下的一个或多个xml配置文件中加载上下文定义,也就是说系统盘符中加载xml配置文件
- AnnotationConfigWebApplicationContext:专门为web应用准备的,适用于注解方式
- AnnotationConfigWebApplicationContext:专门为web应用准备的,适用于注解方式
代码示例:
XML方式
①.创建applicationContext.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"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop https://www.springframework.org/schema/aop/spring-aop.xsd">
<bean id="company" class="com.zhw.demo.ioc.entity.Company">
②.获取容器,获取具体对象实例
public static void main(String[] args) {
ClassPathXmlApplicationContext classPathXmlApplicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
Company company = (Company) classPathXmlApplicationContext.getBean("company");
}
注解方式
①.创建对象管理并交给容器
@Configuration
public class MyConfig {
@Bean
public Company company() {
return new Company();
}
}
②.获取对象
public static void main(String[] args) {
//从java注解的配置中加载配置到容器
ApplicationContext context = new AnnotationConfigApplicationContext(MyConfig.class);
//从容器中获取对象实例
Company company = context.getBean(Company.class);
}
© 版权声明
文章版权归作者所有,未经允许请勿转载。如内容涉嫌侵权,请在本页底部进入<联系我们>进行举报投诉!
THE END














暂无评论内容