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属性,只指定全限定类名,如: & ...
随机推荐
- SpringCloud+Redis
redis①是一种nosql数据库,以键值对<key,value>的形式存储数据,其速度相比于MySQL之类的数据库,相当于内存读写与硬盘读写的差别,所以常常用作缓存,用于少写多读的场景下 ...
- echarts自定义tooltip提示框内容
1.echarts自定义tooltip提示框内容 https://blog.csdn.net/dreamsup/article/details/56667330 2.关于Echarts的formatt ...
- leetcode 627. Swap Salary 数据库带判断的更新操作
https://leetcode.com/problems/swap-salary/description/ 用 set keyWord = Case depentedWord when haha ...
- maya安装不了
AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...
- Unity Screen Screen.SetResolution 设置分辨率
Screen.SetResolution 设置分辨率 C# => public static void SetResolution(int width, int height, bool ful ...
- Ubuntu16.04搭建深度学习框架——TensorFlow
TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库,说白了,就是一个库. 小编自己在Ubuntu搭建了深度学习框架TensorFlow,感觉挺简单,现 ...
- 如何修改FlashFXP默认编辑工具使用记事本打开
FlashFXP如果不设置默认编辑工具,那么当你打开html文档的时候,默认会用word打开,很不方便,其实简单的设置下,可以默认以任何工具打开.具体设置方法如下: 选项>>关联文件. 然 ...
- HDU 5418——Victor and World——————【状态压缩+floyd】
Victor and World Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 262144/131072 K (Java/Other ...
- centos6.3 配置防火墙,开启80端口、3306端口
vi /etc/sysconfig/iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT(允许80端口通过防火 ...
- GET和POST区别(转)
作者:silence链接:https://www.zhihu.com/question/28586791/answer/153556269来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业 ...