随笔分类 -  spring——初步学习(转载)

1
摘要:我们知道,JDBC 是 Java 提供的一种用于执行 SQL 语句的 API,可以对多种关系型数据库(例如 MySQL、Oracle 等)进行访问。但在实际的企业级应用开发中,却很少有人直接使用原生的 JDBC API 进行开发,这是因为使用 JDBC API 对数据库进行操作十分繁琐,需要我们对每 阅读全文
posted @ 2022-04-23 13:51 小白龙白龙马
摘要:在 Spring 中,虽然我们可以使用 XML 配置文件可以实现 AOP 开发,但如果所有的配置都集中在 XML 配置文件中,就势必会造成 XML 配置文件过于臃肿,从而给维护和升级带来一定困难。为此,AspectJ 框架为 AOP 开发提供了一套 @AspectJ 注解。它允许我们直接在 Java 阅读全文
posted @ 2022-04-23 13:22 小白龙白龙马
摘要:我们可以在 Spring 项目中通过 XML 配置,对切面(Aspect 或 Advisor)、切点(PointCut)以及通知(Advice)进行定义和管理,以实现基于 AspectJ 的 AOP 开发。Spring 提供了基于 XML 的 AOP 支持,并提供了一个名为“aop”的命名空间,该命 阅读全文
posted @ 2022-04-23 13:07 小白龙白龙马
摘要:我们知道,Spring AOP 是一个简化版的 AOP 实现,并没有提供完整版的 AOP 功能。通常情况下,Spring AOP 是能够满足我们日常开发过程中的大多数场景的,但在某些情况下,我们可能需要使用 Spring AOP 范围外的某些 AOP 功能。例如 Spring AOP 仅支持执行公共 阅读全文
posted @ 2022-04-23 12:53 小白龙白龙马
摘要:Spring AOP 是 Spring 框架的核心模块之一,它使用纯 Java 实现,因此不需要专门的编译过程和类加载器,可以在程序运行期通过代理方式向目标类织入增强代码。 Spring AOP 的代理机制 Spring 在运行期会为目标对象生成一个动态代理对象,并在代理对象中实现对目标对象的增强。 阅读全文
posted @ 2022-04-23 12:50 小白龙白龙马
摘要:除了控制反转(IoC)和依赖注入(DI)外,Spring 框架还提供了对面向切面编程(AOP)的支持。本节,我们就对 AOP 面向切面编程进行讲解。AOP 的全称是“Aspect Oriented Programming”,译为“面向切面编程”,和 OOP(面向对象编程)类似,它也是一种编程思想。 阅读全文
posted @ 2022-04-19 00:07 小白龙白龙马
摘要:从 Java 5 开始,Java 增加了对注解(Annotation)的支持,它是代码中的一种特殊标记,可以在编译、类加载和运行时被读取,执行相应的处理。 开发人员可以通过注解在不改变原有代码和逻辑的情况下,在源代码中嵌入补充信息。 Spring 从 2.5 版本开始提供了对注解技术的全面支持,我们 阅读全文
posted @ 2022-04-18 23:54 小白龙白龙马
摘要:我们把 Spring 在 Bean 与 Bean 之间建立依赖关系的行为称为“装配”。 Spring 的 IOC 容器虽然功能强大,但它本身不过只是一个空壳而已,它自己并不能独自完成装配工作。 需要我们主动将 Bean 放进去,并告诉它 Bean 和 Bean 之间的依赖关系,它才能按照我们的要求完 阅读全文
posted @ 2022-04-17 23:07 小白龙白龙马
摘要:默认情况下,所有的 Spring Bean 都是单例的,也就是说在整个 Spring 应用中, Bean 的实例只有一个。我们可以在 <bean> 元素中添加 scope 属性来配置 Spring Bean 的作用范围。例如,如果每次获取 Bean 时,都需要一个新的 Bean 实例,那么应该将 B 阅读全文
posted @ 2022-04-17 17:03 小白龙白龙马
摘要:我们还可以在 Bean 标签下的 <property> 元素中,使用以下元素配置 Java 集合类型的属性和参数,例如 List、Set、Map 以及 Properties 等。 标签说明 <list> 用于注入 list 类型的值,允许重复 <set> 用于注入 set 类型的值,不允许重复 <m 阅读全文
posted @ 2022-04-17 16:43 小白龙白龙马
摘要:构造函数方式注入内部 Bean 我们可以通过构造方法注入内部 Bean。此时,我们只需要在 <bean> 标签下的 <constructor-arg> 元素中,再次使用 <bean> 元素对内部 Bean 进行定义,格式如下。 示例 下面我们就通过一个实例,演示下如何在通过构造方法的方式注入内部 B 阅读全文
posted @ 2022-04-17 16:31 小白龙白龙马
摘要:我们将定义在 <bean> 元素的 <property> 或 <constructor-arg> 元素内部的 Bean,称为“内部 Bean”。 setter 方式注入内部 Bean 我们可以通过 setter 方式注入内部 Bean。此时,我们只需要在 <bean> 标签下的 <property> 阅读全文
posted @ 2022-04-17 16:26 小白龙白龙马
摘要:c 命名空间注入 c 命名空间是构造函数注入的一种快捷实现方式。通过它,我们能够以 <bean> 属性的形式实现构造函数方式的属性注入,而不再使用嵌套的 <constructor-arg> 元素,以实现简化 Spring 的 XML 配置的目的。 首先我们需要在配置文件的 <beans> 元素中导入 阅读全文
posted @ 2022-04-17 16:08 小白龙白龙马
摘要:短命名空间注入 我们在通过构造函数或 setter 方法进行属性注入时,通常是在 <bean> 元素中嵌套 <property> 和 <constructor-arg> 元素来实现的。这种方式虽然结构清晰,但书写较繁琐。Spring 框架提供了 2 种短命名空间,可以简化 Spring 的 XML 阅读全文
posted @ 2022-04-17 16:02 小白龙白龙马
摘要:setter 注入 我们可以通过 Bean 的 setter 方法,将属性值注入到 Bean 的属性中。 在 Spring 实例化 Bean 的过程中,IoC 容器首先会调用默认的构造方法(无参构造方法)实例化 Bean(Java 对象),然后通过 Java 的反射机制调用这个 Bean 的 set 阅读全文
posted @ 2022-04-17 15:49 小白龙白龙马
摘要:所谓 Bean 属性注入,简单点说就是将属性注入到 Bean 中的过程,而这属性既可以普通属性,也可以是一个对象(Bean)。 Spring 主要通过以下 2 种方式实现属性注入: 构造函数注入 setter 注入(又称设值注入) 构造函数注入 我们可以通过 Bean 的带参构造函数,以实现 Bea 阅读全文
posted @ 2022-04-17 15:40 小白龙白龙马
摘要:由 Spring IoC 容器管理的对象称为 Bean,Bean 根据 Spring 配置文件中的信息创建。 我们可以把 Spring IoC 容器看作是一个大工厂,Bean 相当于工厂的产品。如果希望这个大工厂生产和管理 Bean,就需要告诉容器需要哪些 Bean,以哪种方式装配。 Spring 阅读全文
posted @ 2022-04-17 15:17 小白龙白龙马
摘要:IoC 是 Inversion of Control 的简写,译为“控制反转”,它不是一门技术,而是一种设计思想,是一个重要的面向对象编程法则,能够指导我们如何设计出松耦合、更优良的程序。 Spring 通过 IoC 容器来管理所有 Java 对象的实例化和初始化,控制对象与对象之间的依赖关系。 我 阅读全文
posted @ 2022-04-17 15:05 小白龙白龙马
摘要:Spring 框架基本涵盖了企业级应用开发的各个方面,它包含了 20 多个不同的模块。 spring-aop spring-context-indexer spring-instrument spring-orm spring-web spring-aspects spring-context-su 阅读全文
posted @ 2022-04-17 14:51 小白龙白龙马
摘要:Spring 的诞生与发展 早期的 J2EE(Java EE 平台)推崇以 EJB 为核心的开发方式,但这种开发方式在实际的开发过程中存在种种弊端,例如使用复杂、代码臃肿、代码侵入性强、开发周期长、移植难度大等。 Rod Johnson 在其 2002 年编著的畅销书《Expert One-on-O 阅读全文
posted @ 2022-04-17 14:42 小白龙白龙马

1