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 做动态代理的。

相关文章
|
1月前
|
Java 容器
java集合框架复习----(1)
这篇文章提供了Java集合框架的复习资料,包括集合的概念、Collection接口的使用,以及如何通过代码示例演示集合的操作,如增加、删除元素,以及遍历集合元素。
java集合框架复习----(1)
|
1月前
|
安全 前端开发 Java
随着企业应用复杂度提升,Java Spring框架以其强大与灵活特性简化开发流程,成为构建高效、可维护应用的理想选择
随着企业应用复杂度提升,Java Spring框架以其强大与灵活特性简化开发流程,成为构建高效、可维护应用的理想选择。依赖注入使对象管理交由Spring容器处理,实现低耦合高内聚;AOP则分离横切关注点如事务管理,增强代码模块化。Spring还提供MVC、Data、Security等模块满足多样需求,并通过Spring Boot简化配置与部署,加速微服务架构构建。掌握这些核心概念与工具,开发者能更从容应对挑战,打造卓越应用。
33 1
|
1天前
|
机器学习/深度学习 数据采集 JavaScript
ADR智能监测系统源码,系统采用Java开发,基于SpringBoot框架,前端使用Vue,可自动预警药品不良反应
ADR药品不良反应监测系统是一款智能化工具,用于监测和分析药品不良反应。该系统通过收集和分析病历、处方及实验室数据,快速识别潜在不良反应,提升用药安全性。系统采用Java开发,基于SpringBoot框架,前端使用Vue,具备数据采集、清洗、分析等功能模块,并能生成监测报告辅助医务人员决策。通过集成多种数据源并运用机器学习算法,系统可自动预警药品不良反应,有效减少药害事故,保障公众健康。
ADR智能监测系统源码,系统采用Java开发,基于SpringBoot框架,前端使用Vue,可自动预警药品不良反应
|
1月前
|
存储 安全 Java
java集合框架复习----(2)List
这篇文章是关于Java集合框架中List集合的详细复习,包括List的特点、常用方法、迭代器的使用,以及ArrayList、Vector和LinkedList三种实现类的比较和泛型在Java中的使用示例。
java集合框架复习----(2)List
|
1月前
|
存储 安全 Java
java集合框架复习----(4)Map、List、set
这篇文章是Java集合框架的复习总结,重点介绍了Map集合的特点和HashMap的使用,以及Collections工具类的使用示例,同时回顾了List、Set和Map集合的概念和特点,以及Collection工具类的作用。
java集合框架复习----(4)Map、List、set
|
18天前
|
Java 数据库连接 Apache
Java进阶-主流框架总结与详解
这些仅仅是 Java 众多框架中的一部分。每个框架都有其特定的用途和优势,了解并熟练运用这些框架,对于每一位 Java 开发者来说都至关重要。同时,选择合适框架的关键在于理解框架的设计哲学、核心功能及其在项目中的应用场景。随着技术的不断进步,这些框架也在不断更新和迭代以适应新的开发者需求。
34 1
|
1月前
|
存储 算法 Java
14 Java集合(集合框架+泛型+ArrayList类+LinkedList类+Vector类+HashSet类等)
14 Java集合(集合框架+泛型+ArrayList类+LinkedList类+Vector类+HashSet类等)
37 2
14 Java集合(集合框架+泛型+ArrayList类+LinkedList类+Vector类+HashSet类等)
|
21天前
|
存储 Java 程序员
Java中的集合框架:从入门到精通
【8月更文挑战第30天】在Java的世界里,集合框架是一块基石,它不仅承载着数据的存储和操作,还体现了面向对象编程的精髓。本篇文章将带你遨游Java集合框架的海洋,从基础概念到高级应用,一步步揭示它的奥秘。你将学会如何选择合适的集合类型,掌握集合的遍历技巧,以及理解集合框架背后的设计哲学。让我们一起探索这个强大工具,解锁数据结构的新视角。
|
22天前
|
存储 算法 Java
Java中的集合框架深度解析云上守护:云计算与网络安全的协同进化
【8月更文挑战第29天】在Java的世界中,集合框架是数据结构的代言人。它不仅让数据存储变得优雅而高效,还为程序员提供了一套丰富的工具箱。本文将带你深入理解集合框架的设计哲学,探索其背后的原理,并分享一些实用的使用技巧。无论你是初学者还是资深开发者,这篇文章都将为你打开一扇通往高效编程的大门。
|
1月前
|
存储 Java
java集合框架复习----(3)Set
这篇文章详细介绍了Java集合框架中的Set集合,包括HashSet和TreeSet的特点、实现原理和使用示例,展示了Set集合的无序性、元素唯一性以及如何通过自定义比较器实现元素的排序。