Java Spring 两大特色
0 引言
本文主要描述的是Spring常用的两大特色功能:AOP和IoC容器
1 IoC
Spring的IoC:就是常说的“控制反转”,也又叫依赖注入的(DI)。
优点:IoC最大的好处就是把对象生成放在了XML里定义,所以当我们需要换一个实现子类将会变得很简单(说的是基于接口的编程),只需要修改XML就可以了,这样我们不用重新编译即可运行,甚至可以实现对象的热插拔。
缺点:由于对象的生成使用了反射编程,所以也给它带来了影响效率的缺点,但是相对于它能提高可维护性和灵活性,这点损耗也就不算什么了,除非对效率要求特别高。
2 AOP
Spring的AOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。
2.1 AOP 使用场景
Authentication 权限
Caching 缓存
Context passing 内容传递
Error handling 错误处理
Lazy loading 懒加载
Debugging 调试
logging, tracing, profiling and monitoring 记录跟踪 优化 校准
Performance optimization 性能优化
Persistence 持久化
Resource pooling 资源池
Synchronization 同步
Transactions 事务
2.2 AOP 相关概念
方面(Aspect)、连接点(joinpoint)、通知(advice)、切入点(pointcut)、引入(introduction)、aop代理
1. 配置切面:config
2. 声明:pointcut
3. 通知:advice
前置通知 before
返回后通知 after-returning
抛出异常后通知 after-throwing
后通知 after
环绕通知 around
最新文章
- AFNetworking 3.0 源码解读(五)之 AFURLSessionManager
- Python导入Scipy子模块时出错
- (转载)iOS开发历程书籍推荐
- Scalaz(31)- Free :自由数据结构-算式和算法的关注分离
- js判断空对象
- Lazy<;T>;在Entity Framework中的性能优化实践(附源码)
- 【Todo】深入理解Javascript系列
- Openfire服务器MySQL优化
- Windows7 下安装ORACLE 11G(遇到的问题)
- 关于一次Weblogic活动线程的问题处理
- LBA(逻辑区块地址)及PBA(物理区块地址)
- iOS多线程的初步研究(六)
- java安装1335错误解决办法(亲测)
- Java - 双冒泡法排序
- CENTOS6.6下mysql5.7.11带boost和不带boost的源码安装
- python之MySQL MySQLdb 推荐使用姿势,解决中文乱码
- Ubuntu下把缺省的dash shell修改为bash shell
- Axure RP 8过期,用户名和序列号(注册码)
- linux svn客户端安装
- POJ 1733 Parity game(种类并查集)
热门文章
- 【codeforces 798B】Mike and strings
- UEditor使用总结(与SpringMVC整合)
- 【ACM】hdu_zs1_1005_大明A+B _201307291603
- 【ACM】NYOJ_506_洗澡_20130725
- HDU 4513 manacher
- CodeForces - 344A Magnets (模拟题)
- 利用Ajax调用controller方法并传递参数
- HDU oj A + B Problem II
- luogu1969 积木大赛
- luogu3953 逛公园