spring 的 IOC 和 AOP

spring java企业开发框架

spring 全家桶

web: spring mvc、 spring flux

持久层:redis、magnodb、 spring data

安全性:spring security

脚手架:spring boot

微服务:spring cloud

IOC是spring 的基础,创建对象模块,AOP是基于IOC的面向切面编程

AOP处理的场景:打印日志、事务、权限处理

lombok 自动生成数据持久层的getset方法

1.1 loc
控制反转,将对象的创建进行反转,常规情况下,对象都是开发者手动创建的,使用loC开发者不再需要创建对象,而是由loC容器根据需求自动创建项目所需要的对象。

不用loC:所有对象开发者自己创建

使用loC:对象不用开发者创建,而是交给Spring 框架来完成

1、pom.xml
<dependency>
<groupid>org.springframework</groupId>

<artifactId>spring-context</artifactId>eversion>5.3.15</version>
</dependency>

基于XML和基于注解
基于XML:开发者把需要的对象在XML中进行配置,Spring框架读取这个配置文件,根据配置文件的内容来创建对象

基于注解“

1.配置类

2.注解+扫包

更简单的方式,不再需要依赖于XML或者配置类,而是直接将bean的创建交给目标类,在目标类添加注解来创建

POJO描述对象  Bean也是描述注解

自动创建对象,完成依赖注入

@compment 完成依赖注入

@Autowired 自动注人  创建对象  通过类型自动注入

@Qualifier  通过名字注入 通过注解完成名字映射

 

1.2AOP 面向切面编程

抽象化的面向对象编程     在方法相同的位置做操作就可以用面向切面编程

AOP必须要有接口   底层使用动态代理机制

将相同的代码提取出来,解耦合

例如在日志处理时:将日志处理的代码抽象出来,计算方法中只保留核心   日志处理代码与计算方法代码的解耦合

对象是通过类来创建的

 

 

 

 @Aspect  注解声明是切面

 

自动扫包,开启自动生成动态代理

 

AOP实现动态代理两种模式:①普通类使用 Gclit实现,②针对某一接口使用原生动态代理(原生动态代理实现Pxory类)

 

posted @   兴儿  阅读(59)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示