spring使用bean
- 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的更多相关文章
- Spring中Bean的作用域、生命周期
Bean的作用域.生命周期 Bean的作用域 Spring 3中为Bean定义了5中作用域,分别为singleton(单例).protot ...
- Spring中Bean的实例化
Spring中Bean的实例化 在介绍Bean的三种实例化的方式之前,我们首先需要介绍一下什么是Bean,以及Bean的配置方式. 如果 ...
- 工厂模式模拟Spring的bean加载过程
一.前言 在日常的开发过程,经常使用或碰到的设计模式有代理.工厂.单例.反射模式等等.下面就对工厂模式模拟spring的bean加载过程进行解析,如果对工厂模式不熟悉的,具体可以先去学习一下工厂 ...
- spring 配置bean
Main(测试方法) public class Main { public static void main(String[] args) { //1.创建Spring 的IOC容器对象: //spr ...
- 在Spring的bean中注入HttpServletRequest解密
我们可以在Spring的bean中轻松的注入HttpServletRequest,使用@Autowired HttpServletRequest request;就可以了. 但是,为什么我们可以直接这 ...
- spring:bean的定义
一个完整的Bean的配置文件: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE beans ...
- paip.spring 获取bean getBean 没有beanid的情况下
paip.spring 获取bean getBean 没有beanid的情况下 spring能自动扫描带有注解的bean文件.. 作者Attilax 艾龙, EMAIL:1466519819@q ...
- spring中bean配置和bean注入
1 bean与spring容器的关系 Bean配置信息定义了Bean的实现及依赖关系,Spring容器根据各种形式的Bean配置信息在容器内部建立Bean定义注册表,然后根据注册表加载.实例化Bean ...
- Spring(二)Bean入门
一.BeanFactory介绍 1.1.Bean: 在Spring技术中是基于组件的 最基本了是最常用的单元 其实实例保存在Spring的容器当中 Bean通常被定义在配置文件当中,Bean实例化由S ...
- Spring中Bean的命名问题(id和name区别)及ref和idref之间的区别
Spring中Bean的命名 1.每个Bean可以有一个id属性,并可以根据该id在IoC容器中查找该Bean,该id属性值必须在IoC容器中唯一: 2.可以不指定id属性,只指定全限定类名,如: & ...
随机推荐
- STL effectiv 条款7 复习 未完成
该条款很好的解决了 容器中存放指针释放的问题,for_each函数调用可以参考自己的前面的博客 为什么会有这个条款呢 很多时候 我们将new过的指针存放到容器中,我们有时候错误的认为 容器对象析构 ...
- accept 和 connect API深入 重点accept阻塞和非阻塞问题学习
https://www.cnblogs.com/zhangkele/p/10284234.html
- ElasticSearch 服务搭建
一.搭建环境 操作系统:Win7 ElasticSearch:1.73 Java JDK:1.7 二.搭建操作 1.安装Java JDK,然后配置系统环境变量,新建CLASS_PATH(jre所在目录 ...
- C# a == b ? c :d 表示的意思
a==b 为true,这个表达式返回c; a==b为false,这个表达式返回d. 相当于: if(a == b) { return c; } else { return d; }
- git使用笔记-提高篇
一.分支.合并 1.合并一个特定提交 a specific commit git cherry-pick commit-id 把commit-id代表的本次提交合并到当前分支,如果有冲突需要解决后,提 ...
- LeetCode 122.买卖股票的最佳时机(C++)
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你不能同时参与多笔交易(你必须在再次 ...
- XStream xml转java对象2
<?xml version="1.0" encoding="UTF-8" ?> <person> <name>yunyun& ...
- 117、python MySQLdb在windows环境下的快速安装、问题解决方式
使用Python访问MySQL,需要一系列安装 Linux下MySQLdb安装见 Python MySQLdb在Linux下的快速安装 http://blog.csdn.NET/wklken/arti ...
- Mac 安装GTK
Mac上配置GTK环境 安装command line工具, 如果安装了Xcode, 就直接跳过该步骤 安装Homebrew 使用brew install pkg-config 使用brew insta ...
- 【转】linux之pmap命令!
原贴:http://tonykorn97.itpub.net/post/6414/249221 linux之pmap命令! ====================================== ...