day29_java_基础巩固框架

简介: 自己所掌握的基础知识加以巩固和记录!希望大家点赞收藏并能给予鼓励和支持!有任何建议或者帮助也可以来哦!!!

Spring 框架:

1. Spring 的两大核心是:IOC(控制反转)和 AOP(面向切面编程) DI(依赖注入)

2. IOC 的意思是控制反转,是指创建对象的控制权的转移,以前创建对象的主动权和

时机是由自己把控的,而现在这种权力转移到 Spring 容器中,并由容器根据配置文件去创

建实例和管理各个实例之间的依赖关系,对象与对象之间松散耦合,也利于功能的复用。最

直观的表达就是,

IOC 让对象的创建不用去 new 了,可以由 spring 根据我们提供的配置文

件自动生产,我们需要对象的时候,直接从 Spring 容器中获取即可.

Spring 的配置文件中配置了类的字节码位置及信息, 容器生成的时候加载配置文件识

别字节码信息, 通过反射创建类的对象.

Spring 的 IOC 有三种注入方式 :构造器注入, setter 方法注入, 根据注解注入。

3. DI 的意思是依赖注入,和控制反转是同一个概念的不同角度的描述,即应用程序在

运行时依赖 Io c 容器来动态注入对象需要的外部资源。

4. AOP,一般称为面向切面编程,作为面向对象的一种补充,用于将那些与业务无关,

但却对多个对象产生影响的公共行为和逻辑,抽取并封装为一个可重用的模块,这个模块被

命名为“切面”(Aspect). SpringAOP 使用的动态代理,所谓的动态代理就是说 AOP 框

架不会去修改字节码,而是每次运行时在内存中临时为方法生成一个 AOP 对象,这个 AOP

对象包含了目标对象的全部方法,并且在特定的切点做了增强处理,并回调原对象的方法。

5. Spring AOP 中的动态代理主要有两种方式,JDK 动态代理和 CGLIB 动态代理:

(1)JDK 动态代理只提供接口代理,不支持类代理,核心 InvocationHandler 接口和

Proxy 类,InvocationHandler 通过 invoke()方法反射来调用目标类中的代码,动态地将

横切逻辑和业务编织在一起,Proxy 利用 InvocationHandler 动态创建一个符合某一接口

的的实例, 生成目标类的代理对象。

(2) 如果代理类没有实现 InvocationHandler 接口,那么 Spring AOP 会选择使用

CGLIB 来动态代理目标类。CGLIB(Code Generation Library),是一个代码生成的类库,

可以在运行时动态的生成指定类的一个子类对象,并覆盖其中特定方法并添加增强代码,从

而实现 AOP。CGLIB 是通过继承的方式做的动态代理,因此如果某个类被标记为 final,

那么它是无法使用 CGLIB 做动态代理的。

目录
打赏
0
0
0
0
1
分享
相关文章
在Java中使用Seata框架实现分布式事务的详细步骤
通过以上步骤,利用 Seata 框架可以实现较为简单的分布式事务处理。在实际应用中,还需要根据具体业务需求进行更详细的配置和处理。同时,要注意处理各种异常情况,以确保分布式事务的正确执行。
在Java中实现分布式事务的常用框架和方法
总之,选择合适的分布式事务框架和方法需要综合考虑业务需求、性能、复杂度等因素。不同的框架和方法都有其特点和适用场景,需要根据具体情况进行评估和选择。同时,随着技术的不断发展,分布式事务的解决方案也在不断更新和完善,以更好地满足业务的需求。你还可以进一步深入研究和了解这些框架和方法,以便在实际应用中更好地实现分布式事务管理。
Java 集合框架中的老炮与新秀:HashTable 和 HashMap 谁更胜一筹?
嗨,大家好,我是技术伙伴小米。今天通过讲故事的方式,详细介绍 Java 中 HashMap 和 HashTable 的区别。从版本、线程安全、null 值支持、性能及迭代器行为等方面对比,帮助你轻松应对面试中的经典问题。HashMap 更高效灵活,适合单线程或需手动处理线程安全的场景;HashTable 较古老,线程安全但性能不佳。现代项目推荐使用 ConcurrentHashMap。关注我的公众号“软件求生”,获取更多技术干货!
61 3
非常实用的Http应用框架,杜绝Java Http 接口对接繁琐编程
UniHttp 是一个声明式的 HTTP 接口对接框架,帮助开发者快速对接第三方 HTTP 接口。通过 @HttpApi 注解定义接口,使用 @GetHttpInterface 和 @PostHttpInterface 等注解配置请求方法和参数。支持自定义代理逻辑、全局请求参数、错误处理和连接池配置,提高代码的内聚性和可读性。
298 3
|
1月前
|
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
95 3
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
|
5月前
|
深入探讨了Java集合框架中的HashSet和TreeSet,解析了两者在元素存储上的无序与有序特性。
【10月更文挑战第16天】本文深入探讨了Java集合框架中的HashSet和TreeSet,解析了两者在元素存储上的无序与有序特性。HashSet基于哈希表实现,添加元素时根据哈希值分布,遍历时顺序不可预测;而TreeSet利用红黑树结构,按自然顺序或自定义顺序存储元素,确保遍历时有序输出。文章还提供了示例代码,帮助读者更好地理解这两种集合类型的使用场景和内部机制。
68 3
SaaS云计算技术的智慧工地源码,基于Java+Spring Cloud框架开发
智慧工地源码基于微服务+Java+Spring Cloud +UniApp +MySql架构,利用传感器、监控摄像头、AI、大数据等技术,实现施工现场的实时监测、数据分析与智能决策。平台涵盖人员、车辆、视频监控、施工质量、设备、环境和能耗管理七大维度,提供可视化管理、智能化报警、移动智能办公及分布计算存储等功能,全面提升工地的安全性、效率和质量。
Java中的Fork/Join框架详解
Fork/Join框架是Java并行计算的强大工具,尤其适用于需要将任务分解为子任务的场景。通过正确使用Fork/Join框架,可以显著提升应用程序的性能和响应速度。在实际应用中,应结合具体需求选择合适的任务拆分策略,以最大化并行计算的效率。
66 23
基于开源框架Spring AI Alibaba快速构建Java应用
本文旨在帮助开发者快速掌握并应用 Spring AI Alibaba,提升基于 Java 的大模型应用开发效率和安全性。
591 27
基于开源框架Spring AI Alibaba快速构建Java应用
Java 集合框架优化:从基础到高级应用
《Java集合框架优化:从基础到高级应用》深入解析Java集合框架的核心原理与优化技巧,涵盖列表、集合、映射等常用数据结构,结合实际案例,指导开发者高效使用和优化Java集合。
84 4

计算巢

+关注
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等