Spring总结pt2——Ioc容器

Spring第二章:IoC容器

IoC概念:

在这里插入图片描述

IoC类型:

  1. 构造器注入
  2. 属性注入:setter
  3. 接口注入:通过它接口具有的方法 (setter) 来注入。不常用

资源抽象接口

原因:jdk不够好
在这里插入图片描述
在这里插入图片描述
地位:
在这里插入图片描述在这里插入图片描述

资源加载:支持ant风格、按url前缀加载

在这里插入图片描述
在这里插入图片描述

BeanFactory

beanfactory —— applicationContext 关系
在这里插入图片描述
beanfactory定义:
[image:A51495EC-39F0-453E-B067-E15B02D1CEFA-57926-00020FD8F035FDAF/截屏2020-03-08下午3.39.35.png]
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

public class BeanTest {
    public static void main(String[] args) throws IOException {
        // 获取资源chap4/applicationContext.xml配置文件
        ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
        Resource resource = resolver.getResource("classpath:chap4/applicationContext.xml");
        System.out.println(resource.getURI().toString());

        // 加载资源,初始化beanFactor,并使用
        DefaultListableBeanFactory factory = new DefaultListableBeanFactory();
        XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(factory);
        reader.loadBeanDefinitions(resource);

        System.out.println(“———  init factory  ———“);
        User user = factory.getBean(“chap4_user”, User.class);
        user.introduce();
    }
}
<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 id="chap4_user" class="pojo.User">
        <property name="id" value="1"/>
        <property name="name" value="qiuqiu"/>
        <property name="password" value="admin"/>
    </bean>
</beans>

applicationContext

applicationContext也是接口,除了继承了BeanFactory,还完善了其他功能(继承了其他接口 ):资源加载、事件发布、消息…
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
‼️区别1:applicationContext更勤奋、BeanFactory更懒
在这里插入图片描述

WebApplicationContext暂不复习

父子容器暂不复习

bean生命周期:BeanFactory中 :p104

在这里插入图片描述
在这里插入图片描述
BeanFactoryAware, BeanNameAware, InitializingBean, DisposableBean
详细的生命周期的控制编程,暂时不复习
[image:5CB5BBB4-06A9-4FB3-946A-29BCC0F5E3D1-57926-000214EF6305FAE7/截屏2020-03-08下午5.13.15.png]

bean生命周期:applicationContext中 :p112

[image:496A09A0-9A52-41CF-903E-2A65D63B0E35-57926-000215069F6E5D36/截屏2020-03-08下午5.14.55.png]
[image:82CFB707-CB0C-466E-BF53-DD85B9263DE9-57926-0002151115CAF96A/截屏2020-03-08下午5.15.39.png]
‼️区别2:对于后“处理器” applicationContext更方便,BeanFactory更麻烦
[image:2450D17F-5A07-4439-B191-24C19B45E585-57926-00021521CE1B1FC4/截屏2020-03-08下午5.16.51.png]

发布了6 篇原创文章 · 获赞 17 · 访问量 5370

猜你喜欢

转载自blog.csdn.net/Vincentqqqqqqq/article/details/104736535