Spring容器技术

喜欢ヅ旅行 2023-09-26 22:21 95阅读 0赞

在这里插入图片描述
【Spring技术】Spring的体系结构
【Spring技术】Spring之IOC和DI入门案例
【Spring技术】Spring之Bean的配置与实例
【Spring技术】Spring依赖注入(DI配置)
【Spring技术】Spring第三方资源配置管理
【Spring技术】Spring容器技术
【Spring技术】Spring注解开发
【Spring技术】Spring整合Mybatis&Junit单元测试
【Spring技术】SpringAOP
【Spring技术】Spring事务管理

Spring容器技术

        1. Spring核心容器介绍
        • 1.1 创建容器
        • 1.2 获取bean对象
        • 1.3 容器类层次结构
        • 1.4 BeanFactory
        1. Spring核心容器总结
        • 2.1 容器相关
        • 2.2 bean相关
        • 2.3 依赖注入相关

1. Spring核心容器介绍

问题导入

问题:按照Bean名称获取Bean有什么弊端,按照Bean类型获取Bean有什么弊端?

1.1 创建容器
  • 方式一:类路径加载配置文件

    ApplicationContext ctx = new ClassPathXmlApplicationContext(“applicationContext.xml”);

  • 方式二:文件路径加载配置文件

    ApplicationContext ctx = new FileSystemXmlApplicationContext(“D:\applicationContext.xml”);

  • 加载多个配置文件

    ApplicationContext ctx = new ClassPathXmlApplicationContext(“bean1.xml”, “bean2.xml”);

1.2 获取bean对象
  • 方式一:使用bean名称获取

弊端:需要自己强制类型转换

  1. BookDao bookDao = (BookDao) ctx.getBean("bookDao");
  • 方式二:使用bean名称获取并指定类型

推荐使用

  1. BookDao bookDao = ctx.getBean("bookDao", BookDao.class);
  • 方式三:使用bean类型获取

弊端:如果IOC容器中同类型的Bean对象有多个,此处获取会报错

  1. BookDao bookDao = ctx.getBean(BookDao.class);
1.3 容器类层次结构

image-20210730102842030

1.4 BeanFactory
  • 类路径加载配置文件

    Resource resources = new ClassPathResource(“applicationContext.xml”);
    BeanFactory bf = new XmlBeanFactory(resources);
    BookDao bookDao = bf.getBean(“bookDao”, BookDao.class);
    bookDao.save();

  • BeanFactory创建完毕后,所有的Bean均为延迟加载,也就是说我们调用getBean()方法获取Bean对象时才创建Bean对象并返回给我们

2. Spring核心容器总结

2.1 容器相关
  • BeanFactory是IoC容器的顶层接口,初始化BeanFactory对象时,加载的bean延迟加载
  • ApplicationContext接口是Spring容器的核心接口,初始化时bean立即加载
  • ApplicationContext接口提供基础的bean操作相关方法,通过其他接口扩展其功能
  • ApplicationContext接口常用初始化类

    • ClassPathXmlApplicationContext(常用)
    • FileSystemXmlApplicationContext
2.2 bean相关

image-20210730103438742

2.3 依赖注入相关

image-20210730103701525

发表评论

表情:
评论列表 (有 0 条评论,95人围观)

还没有评论,来说两句吧...

相关阅读