Spring
简介
Spring 是一种用来简化企业级应用开发的开源框架,包括Spring Framework, Spring Data, Spring Security,Spring Boot,SpringMVC等。Spring 家族最核心的概念当属 AOP 和 IoC,详解见下节。其中 Spring 优点如下:
- 降低了组件之间的耦合性 ,实现了软件各层之间的解耦
- 可以使用便捷的众多服务,如事务管理,消息服务等
- 容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能
- Spring对于主流的应用框架提供了集成支持,如Hibernate、JPA等
- Spring属于低侵入式设计,代码的污染极低
- Spring的高度开放性,开发者可以自由选择Spring的部分或全部
AOP和IOC
AOP(Aspect Oriented Programming,面向切面编程)
AOP简单说就是在目标方法执行前后自定义一些操作,一般都是基于代理模式来实现的,Spring支持两种代理模式,JDK原生代理和CGLib代理。AOP给程序带来良好的扩展性和封装性,可以实现业务代码与非业务代码的隔离。比如可以在不改变目标代码的前提下实现目标方法的增强:埋点业务处理、方法执行时间监控,打印日志,权限控制等等。
- JDK动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。只能对实现了接口
更多推荐
Java 面试之技术框架
发布评论