spring框架
来源:互联网 发布:梅家坞龙井茶知乎 编辑:程序博客网 时间:2024/06/09 20:16
spring的特点
ioc 控制反转:把创建和维护对象(bean)的控制权从程序中转移到了spring容器(applicationcontext.xml)中,可以重复利用和统一操作
di 依赖注入:对象依赖和属性值注入,与ioc表述的是同一概念。
获取bean的方法
获取bean的两种方法:applicationcontext和beanfactory
使用applicationcontext,配置的bean是singlton。则实例化bean容器时,文件中配置的bean被实例化。速度快,占内存。一般情况都使用。
beanfactory实例化bean容器时,文件中配置的bean不被实例化,使用getbean时才实例化。速度慢,不占内存。
bean作用域控制
singlton 单例模式,一个bean只有一个对象实例
prototype 一个bean可以有多个对象
request web项目中,每次http请求都会产生自己的实例
session 一次会话中,一个bean对应一个实例
global session
程序中调用beans.xml实现
bean的生命周期
① 实例化(当我们的程序加载beans.xml文件),把我们的bean(前提是scope=singleton)实例化到内存
② 调用set方法设置属性
③ 如果你实现了bean名字关注接口(BeanNameAware)则,可以通过setBeanName获取id号
④ 如果你实现了 bean工厂关注接口,(BeanFactoryAware),则可以获取BeanFactory
⑤ 如果你实现了ApplicationContextAware接口,则调用方法
//该方法传递ApplicationContext public void setApplicationContext(ApplicationContext arg0) throws BeansException { // TODO Auto-generated methodstub System.out.println("setApplicationContext"+arg0); }
⑥ 如果bean 和 一个后置处理器关联,则会自动去调用Object postProcessBeforeInitialization方法
⑦ 如果你实现InitializingBean接口,则会调用 afterPropertiesSet
⑧ 如果自己在<beaninit-method=”init” /> 则可以在bean定义自己的初始化方法.
⑨ 如果bean 和 一个后置处理器关联,则会自动去调用Object postProcessAfterInitialization方法
⑩ 使用我们的bean
小结: 我们实际开发中往往,没有用的这么的过程,常见的是:
1->2->6->10->9->11
配置bean
1.Scope尽量使用singlton,prototype能不使用就不使用,因为影响性能。
2.给集合注入值
3.内部bean
4.set装配
5.自动装配autowire=" "
①byName自动寻找对象名
②byType自动按类型匹配
③constructor寻找构造函数进行匹配④outodetect
⑤default
⑥no不自动装配
6.启用注解<context:annotation-config />
7.分散配置到.properties文件中<context:property-placeholder />引入
AOP面向切面编程
- Spring 框架
- Spring框架
- Spring 框架
- Spring框架
- Spring 框架
- Spring 框架
- Spring 框架
- Spring 框架
- Spring 框架
- Spring框架
- Spring框架
- Spring框架
- Spring框架
- spring框架
- Spring 框架
- Spring框架
- Spring框架
- spring 框架
- 图片加载问题
- LeetCode--Majority Element
- C++类构造函数初始化列表顺序
- LeetCode(206) Reverse Linked List
- Mysql pid 文件
- spring框架
- 一键安装gitlab7在rehl6.4上
- Android仿网易新闻导航栏PagerSlidingTabStrip
- C 语言进阶有哪些优秀的代码可以阅读?
- LeetCode--Binary Tree Preorder Traversal
- 3d游戏的总体设计框架
- Quick reference to HTTP headers
- Win7下Android开发环境的搭建
- WebService性能测试