Spring
1、
2、
3、
4、
5、
SpringBoot
[quickstart-spring-boot] [quickstart-spring-boot2]
SpringCloud
[quickstart-spring-cloud] [quickstart-spring-cloud2]
SpringMVC
[quickstart-spring-framework]
SpringData
[quickstart-spring-data]
SpringBoot学习
/Users/yangzl/git/quickstart-spring-boot/docs /Users/yangzl/git/quickstart-spring-boot2/docs
SpringCloud学习 /Users/yangzl/git/quickstart-spring-cloud/docs /Users/yangzl/git/quickstart-spring-cloud2/docs
spring和springmvc熟悉吗
spring ioc 的实现原理?怎么把对象初始化的,平时是new的,这个是怎么创建的?aop的实现原理?
Spring:
1、spring中的transactional注解,requestMapping注解的实现原理
2、springMvc原理 如何集成web
1、spring依赖注入怎么注入 2、Spring注解
Spring相关:springframework、springMvc、SpringBoot、SpringCloud quickstart-spring-data
Spring IOC/DI和AOP原理 IOC: Inversion of Control(控制反转)是一种设计思想,就是容器控制应用程序所需要外部资源的创建和管理,然后将其反转给应用程序。 DI: Dependency Injection,即“依赖注入”。应用程序依赖容器提供的外部对象,容器将其依赖的外部资源在运行期注入到应用程序中;某个对象被调用时,其所依赖的对象由容器注入。 其实IOC和DI本就是同一个概念的两种不同的表述
优点 第一,资源集中管理,实现资源的可配置和易管理,降低对象关系维护的复杂度。 第二,降低了使用资源双方的依赖程度,也就是我们说的耦合度。
AOP利用一种称为“横切”的技术,剖解开封装的对象内部,将那些影响多个类的公共行为封装到一个可重用模块,并将其名为方面(Aspect)。所谓“方面”,简单地说,就是将那些与业务无关,却为业务模块所共同调用的逻辑封装起来的部分。以便于减少系统的重复代码,降低模块间的耦合度,并有利于系统维护。 比如权限认证、日志、事务处理,debug管理,性能检测等。AOP 的作用在于分离系统中的各种关注点,将核心关注点和横切关注点分离开来。
实现方式 实现AOP的技术,主要分为两大类: 一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行;JDK动态代理,cglib 二是采用静态织入的方式,引入特定的语法创建“方面”,从而使得编译器可以在编译期间织入有关“方面”的代码。AspectJ、Javassist,
优点
①.横切关注点的代码都集中于一块,不再是分散在各个业务组件中,不会出现大量重复代码;
②.核心模块只关注核心功能的代码,与通用模块分离,模块间藕合度降低。
以便于减少系统的重复代码,降低模块间的耦合度,并有利于系统维护。
Last updated
Was this helpful?