spring概览
来源:互联网 发布:unitcell软件 编辑:程序博客网 时间:2024/05/28 23:20
Spring模块:
IOC及DI
IoC,控制反转,还有一个名字叫做依赖注入(Dependency Injection),就是由容器控制程序之间的关系
依赖注入的目的并非为软件系统带来更多功能,而是为了提升组件重用的频率,并为系统搭建一个灵活、可扩展的平台。通过依赖注入机制,我们只需要通过简单的配置,而无需任何代码就可指定目标需要的资源,完成自身的业务逻辑,而不需要关心具体的资源来自何处,由谁实现。
依赖注入DI:
特殊的类型,如集合(Collection、无序集合Set、有序集合List)类型、数组(Array)类型、字典(Map)类型数据、Properties类型数据,参考:
http://sishuok.com/forum/blogPost/list/2447.html
DI 之循环依赖:
循环依赖就是循环引用,就是两个或多个Bean相互之间的持有对方,比如CircleA引用CircleB,CircleB引用CircleC,CircleC引用CircleA,则它们最终反映为一个环。
Spring容器循环依赖包括构造器循环依赖和setter循环依赖
参考:http://jinnianshilongnian.iteye.com/blog/1415278
bean
延迟初始化Bean:
–指不提前初始化Bean,而是只有在真正使用时才创建及初始化Bean
–什么时候要延迟初始化bean:除非有某个Bean可能需要加载很大资源,而且很可能在整个应用程序生命周期中很可能使用不到,可以设置为延迟初始化。
–怎样写:对bean加上属性 lazy-init=”true”
使用depends-on:
某个beanB依赖另一个beanA,则初始化顺序为先有A后有B,销毁顺序是先销毁B后销毁A(就像数据库销毁表先释放外键再销毁)
写法:
1.<bean id="dependentBean" 2. class="cn.javass.spring.chapter3.bean.DependentBean" 3. init-method="init" destroy-method="destroy" depends-on="resourceBean"> 4. <property name="resourceBean" ref="resourceBean"/> 5.</bean>
java 文件IO与depends-on结合的例子见
http://jinnianshilongnian.iteye.com/blog/1415461
方法注入:
所谓方法注入其实就是通过配置方式覆盖或拦截指定的方法,通常通过代理模式实现。Spring提供两种方法注入:查找方法注入和方法替换注入。
因为Spring是通过CGLIB动态代理方式实现方法注入,也就是通过动态修改类的字节码来实现的,本质就是生成需方法注入的类的子类方式实现。
bean的作用域:
Spring提供“singleton”和“prototype”两种基本作用域,另外提供“request”、“session”、“global session”三种web作用域;Spring还允许用户定制自己的作用域。
singleton:指“singleton”作用域的Bean只会在每个Spring IoC容器中存在一个实例,而且其完整生命周期完全由Spring容器管理。对于所有获取该Bean的操作Spring容器将只返回同一个Bean,都是放在缓冲池中取的。
prototype:即原型,指每次向Spring容器请求获取Bean都返回一个全新的Bean,相对于“singleton”来说就是不缓存Bean,每次都是一个根据Bean定义创建的全新Bean。
也就是说prototype类型的每次调用重新产生,不会放在缓冲池中。
Spring提供了三种Web作用域:request、session、globalSession
自定义作用域:几乎用不到自定义作用域,除非又必要才进行自定义作用域。
参考:http://jinnianshilongnian.iteye.com/blog/1415463
数据源:
- Spring概览
- spring概览
- Spring Integration概览
- Spring——概览
- spring学习概览
- Spring 核心技术概览(一)
- Spring Security生态概览
- Spring 4.x 概览
- Spring Security--概念概览
- Spring注解概览
- Spring 注解概览
- Spring笔记01-Spring概览
- spring 的 resource接口概览
- Spring总结一(整体概览)
- Spring实战 第一章 1.3 Spring概览
- spring实战笔记1 spring概览
- Spring的AOP和事务管理机制概览
- Spring的AOP和事务管理机制概览
- 当代移动通信发展四个阶段
- SQL行转列
- Paros数据抓包
- Oracle学习记录二——SQL基础
- 鼠标和键盘监听pro(消息弹出框)
- spring概览
- swift 之UICollectionView 与UICollectionViewController
- PHP 字符集的转换
- 快速导入as项目到studio中
- MPAndroidChart笔记(LineChart多个相同x不同y数据处理)
- PHPExcel对于Excel中日期和时间类型的处理
- linux下如何实现mysql数据库每天自动备份定时备份
- notepad ++
- linux wc命令参数及用法详解---linux文件内容统计命令