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类)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通