• ApplicationContext 应用上下文,加载Spring 框架配置文件
    • 加载classpath:
      • new ClassPathXmlApplicationContext(“applicationContext.xml”);
    • 加载磁盘路径:
      • new FileSystemXmlApplicationContext(“applicationContext.xml”);

@Test // Spring开发 public void demo2() { // 创建一个工厂类. ApplicationContext applicationContext = new ClassPathXmlApplicationContext( "applicationContext.xml"); HelloService helloService = (HelloService) applicationContext.getBean("userService"); helloService.sayHello(); }
Bean的生命周期的11个步骤
    • 1 . bean对象实例化 : instantiate bean
    • 2 . 属性的注入: populate properties : 封装属性
    • 3 . 注入配置的类的名称 : 如果Bean实现BeanNameAware 执行 setBeanName
    • 4 . 注入applicationContext : 如果Bean实现BeanFactoryAware 或者 k 设置工厂 setBeanFactory 或者上下文对象 setApplicationContext
    • 5 . 初始化之前执行操作如果存在类实现 BeanPostProcessor(后处理Bean),执行postProcessBeforeInitialization
      • 需要添加此标签:<bean class="cn.itcast.spring3.demo4.MyBeanPostProcessor"></bean>
      • 6 . 属性设置后执行操作 : 如果Bean实现InitializingBean 执行 afterPropertiesSet
    • 7 . 调用手动设置的初始化方法 : 调用<bean init-method="init"> 指定初始化方法 init
    • 8 . 初始化后执行操作如果存在类实现 BeanPostProcessor(处理Bean),执行 postProcessAfterInitialization
    • 9 . 执行业务处理
    • 10 . 调用销毁的方法 : 如果Bean实现 DisposableBean 执行 destroy
    • 11 . 调用手动销毁方法 : 调用<bean destroy-method="customerDestroy"> 指定销毁方法 customerDestroy

 

spring使用bean的更多相关文章

  1. Spring中Bean的作用域、生命周期

                                   Bean的作用域.生命周期 Bean的作用域 Spring 3中为Bean定义了5中作用域,分别为singleton(单例).protot ...

  2. Spring中Bean的实例化

                                    Spring中Bean的实例化 在介绍Bean的三种实例化的方式之前,我们首先需要介绍一下什么是Bean,以及Bean的配置方式. 如果 ...

  3. 工厂模式模拟Spring的bean加载过程

    一.前言    在日常的开发过程,经常使用或碰到的设计模式有代理.工厂.单例.反射模式等等.下面就对工厂模式模拟spring的bean加载过程进行解析,如果对工厂模式不熟悉的,具体可以先去学习一下工厂 ...

  4. spring 配置bean

    Main(测试方法) public class Main { public static void main(String[] args) { //1.创建Spring 的IOC容器对象: //spr ...

  5. 在Spring的bean中注入HttpServletRequest解密

    我们可以在Spring的bean中轻松的注入HttpServletRequest,使用@Autowired HttpServletRequest request;就可以了. 但是,为什么我们可以直接这 ...

  6. spring:bean的定义

    一个完整的Bean的配置文件: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE beans ...

  7. paip.spring 获取bean getBean 没有beanid的情况下

    paip.spring 获取bean  getBean 没有beanid的情况下 spring能自动扫描带有注解的bean文件.. 作者Attilax  艾龙,  EMAIL:1466519819@q ...

  8. spring中bean配置和bean注入

    1 bean与spring容器的关系 Bean配置信息定义了Bean的实现及依赖关系,Spring容器根据各种形式的Bean配置信息在容器内部建立Bean定义注册表,然后根据注册表加载.实例化Bean ...

  9. Spring(二)Bean入门

    一.BeanFactory介绍 1.1.Bean: 在Spring技术中是基于组件的 最基本了是最常用的单元 其实实例保存在Spring的容器当中 Bean通常被定义在配置文件当中,Bean实例化由S ...

  10. Spring中Bean的命名问题(id和name区别)及ref和idref之间的区别

    Spring中Bean的命名 1.每个Bean可以有一个id属性,并可以根据该id在IoC容器中查找该Bean,该id属性值必须在IoC容器中唯一: 2.可以不指定id属性,只指定全限定类名,如: & ...

随机推荐

  1. oracle wm_concat函数 列转行 分组函数

    (1)select mark, wm_concat(status) from DISSENT_INFO t GROUP BY mark; 查出来的数据 mark     status 222      ...

  2. Spark2.3.0 报 io.netty.buffer.PooledByteBufAllocator.metric

    Spark2.3.0依赖的netty-all-4.1.17.Final.jar 与 hbase1.2.0依赖的netty-all-4.0.23.Final.jar 冲突 <!-- Spark2. ...

  3. Python读写操作Excel模块_xlrd_xlwt_xlutils

    Python 读写操作Excel -- 安装第三方库(xlrd.xlwt.xlutils.openpyxl) 如果仅仅是要以表单形式保存数据,可以借助 CSV 格式(一种以逗号分隔的表格数据格式)进行 ...

  4. java——ArrayList 的存在有什么意义?

    好像所有的数据类型都可以用比如 TreeMap[]  int[] Object[] 这种形式来创建自己的数组,那么ArrayList存在的意义是什么呢? 我只能想到这种:ArrayList可以存储多种 ...

  5. 配置编译器(GCC和GFortran)

    平台信息 Description: CentOS Linux release 7.6.1810 (Core) 检查环境 $ gfortran -v $ gcc -v 安装 GCC和Fortran 环境 ...

  6. [转]将input file的选择的文件清空

    本文转自:http://hi.baidu.com/xiongshihu/item/125c79b47632e794194697f5 上传文件时,选择了文件后想清空文件路径的两种办法: JS代码 < ...

  7. contextMenu的使用

    contextMenu继承自menu,于是具有menu的一些属性,比如它的add方法,add方法其中的几个参数要注意一些是什么意思:如下图: 第一个groupid顾名思义,组id,如果要把这些item ...

  8. gcc标准,c++中的inline

    1. GCC的inlinegcc对C语言的inline做了自己的扩展,其行为与C99标准中的inline有较大的不同. 1.1. static inlineGCC的static inline定义很容易 ...

  9. HDU 5587——Array——————【规律】

    Array Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Sub ...

  10. 为什么地址栏的快捷键是Alt D

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:为什么地址栏的快捷键是Alt D.