花门楼前见秋草,岂能贫贱相看老。这篇文章主要讲述spring的IOC容器ApplicationContext和BeanFactory相关的知识,希望能为你提供帮助。
beanfactory是ioc的基础容器,它主要的实现类XmlBeanFactory
类,这个容器从一个 XML 文件中读取配置元数据,由这些元数据来生成一个被配置化的系统或者应用。注意和FactoryBean的区别
这里要自己的要注意的问题:
1)假如自己来实现,怎么把对象进行注入,什么时候注入,怎么解决循环依赖的问题
2)注入是用的是BeanDefination,那么是怎么把class文件跟它联系起来的,主要使用哪些属性
3)怎么让第三方框架把自己的属性注入进来的,然后如何进行很好的调用
【spring的IOC容器ApplicationContext和BeanFactory】
4) 对于使用者来说,怎么进行来扩展或者使用一些修改的功能
BeanPostProcessor
5)
注意这里用了什么好的方式,自己可以借鉴的
ApplicationContext继承了BeanFactory,但是这个可以理解为应用上下文,
1) 国际化(MessageSource)
2) 访问资源,如URL和文件(ResourceLoader)
3) 载入多个(有继承关系)上下文 ,使得每一个上下文都专注于一个特定的层次,比如应用的web层
,
4) 消息发送、响应机制(ApplicationEventPublisher)
5) AOP(拦截器)
- FileSystemXmlApplicationContext:该容器从 XML 文件中加载已被定义的 bean。在这里,你需要提供给构造器 XML 文件的完整路径。
- ClassPathXmlApplicationContext:该容器从 XML 文件中加载已被定义的 bean。在这里,你不需要提供 XML 文件的完整路径,只需正确配置 CLASSPATH 环境变量即可,因为,容器会从 CLASSPATH 中搜索 bean 配置文件。
- WebXmlApplicationContext:该容器会在一个 web 应用程序的范围内加载在 XML 文件中已被定义的 bean。
- AnnotationConfigApplicationContext可以实现基于java的配置类加载Spring的应用上下文。避免使用application.xml进行配置。相比XML配置,更加便捷,用到的注解是@Configuration和@Bean
推荐阅读
- Elastic Stack(es Mapping映射入门)
- uni-app支付模块简述
- Invalid bound statement (not found): com.ruoyi.system.mapper.SysStudentMapper.selectSysStudentList(示
- Jenkins 打包 Android
- call() apply() bind()方法 以及实现bind()方法
- 怎样删除空间好友?删除QQ空间好友的办法
- 如何赠送Q币?赠送Q币的办法
- mac版是啥意思?mac版意思介绍_其它聊天
- 毒奶粉是啥游戏?_其它聊天