spring 加载bean

1. 实现方式是通过IoC容器实现的,

2. IoC容器的核心BeanFactory和ApplicationContext BeanFactory是初始化、配置、管理bean的容器,

XMLBeanFactory可以实现BeanFactory接口的所具有的功能方法, 通过构造器的参数注入实现。

3. beanfactory的方法

getBean(String beanName)

getBean(String s, Class class1);

containsBean(String s);

isSingletonBean(String s);

isPrototype(String s);

getType(String s);

  

4. ApplicationContext是BeanFactory的子接口,称应用上下文,

除了能创建、管理bean,还由其他的功能,比如国际化。 还能初始化singleton Bean,是在容器被初始化时发生的,

当ApplicationContext容器被初始化时,singleton Bean初始化了,不需要单独在初始化,

5. 获取上下文信息的方法

ClassPathXmlApplicationContext("/bean.xml");从类加载路径的xml文件获取上下文

FileSystemXmlApplicationContext("d:/app/bean.xml");从文件系统的xml文件获取上下文

XmlWebApplicationContext("/bean.xml");从web系统(WebRoot/WEB-INF/bean.xml)的xml文件获取上下文

时间: 2024-11-01 09:55:19

spring 加载bean的相关文章

spring加载bean的步骤

转载:https://www.cnblogs.com/hljmly/articles/5442778.html spring加载bean的方法 用spring的时候,需要一个applicationContext.xml文件,放到工程目录src下,每次我想获得这个xml文件里的bean的时候,就要这样写: BeanFactory beanFactory = new ClassPathXmlApplicationContext("applicationContext.xml"); 因为是放

spring加载bean实例化顺序

转载:http://blog.sina.com.cn/s/blog_525960510100ipwj.html http://blog.sina.com.cn/s/blog_6940cab30102uwma.html 问题来源: 有一个bean为 A,一个bean为B.想要A在容器实例化的时候的一个属性name赋值为B的一个方法funB的返回值. 如果只是在A里单纯的写着: private B b;private String name = b.funb(); 会报错说nullpointExce

spring加载bean流程解析

本篇博客的目录: 一:spring读取配置或注解的过程 二:spring的bean的生命周期 三:spring的BeanPostProcessor处理器 四:一些关键性的问题 五:测试 六:总结 一:spring读取配置或注解的过程 1:先通过扫描指定包路径下的spring注解,比如@Component.@Service.@Lazy @Sope等spring识别的注解或者是xml配置的属性(通过读取流,解析成Document,Document)然后spring会解析这些属性,将这些属性封装到Be

spring 加载bean过程源码简易解剖

这一篇主要是讲用载入bean的过程.其实就是IOC.低调 低调.. 我把重要的都挑出来了.一步步往下看就明白spring载入bean.xml里面bean的原理 . 感觉像候杰的 MFC深入浅出,哈哈. 观看规则 接下 表示下一层代码. 接上 表示最近上面要调用的代码的详细部分. Java代码   public class XmlBeanFactory extends DefaultListableBeanFactory { //新建一个bean分析器,把this注册到里面是因为,在分析器解析好一

Spring多种加载Bean方式简析

1 定义bean的方式 常见的定义Bean的方式有: 通过xml的方式,例如: <bean id="dictionaryRelMap" class="java.util.HashMap"/> 通过注解的方式,在Class上使用@Component等注解,例如 @Component public class xxxServicer{ .... } 通过在@Configuration类下的@Bean的方式,例如 @Configuration public c

spring IOC之篇六 bean的加载---bean的创建

之前我们讲解了缓存中单例的获取,解下来需要讲解缓存中不存在该如何处理 public Object getSingleton(String beanName, ObjectFactory<?> singletonFactory) { Assert.notNull(beanName, "'beanName' must not be null"); // 全局变量需要同步 synchronized (this.singletonObjects) { // 先从单例缓存池获取,以便

【死磕 Spring】----- IOC 之 加载 Bean

先看一段熟悉的代码: ClassPathResourceresource new ClassPathResource("bean.xml");DefaultListableBeanFactoryfactory new DefaultListableBeanFactory();XmlBeanDefinitionReaderreader new XmlBeanDefinitionReader(factory);reader.loadBeanDefinitions(resource);这段代

spring Boot加载bean

1.SpringBoot中加载bean,可以使用注解@compenent直接加载到applicationContext容器中 2.在直接类@Configuration中,手动注册bean,如: 原文地址:https://www.cnblogs.com/javabg/p/10704566.html

spring加载jar包中多个配置文件(转)

转自:http://evan0625.iteye.com/blog/1598366 在使用spring加载jar包中的配置文件时,不支持通配符,需要一个一个引入,如下所示: Java代码 <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath*:beanconfigs/applicationContext_1.xml, classpath*: