
Spring
文章平均质量分 84
Spring框架详解
小日子呀
这个作者很懒,什么都没留下…
展开
-
Spring事务(Transaction)
事务具有 4 个特性:原子性、一致性、隔离性和持久性,简称为 ACID 特性。事务允许我们将几个或一组操作组合成一个要么全部成功、要么全部失败的工作单元。如果事务中的所有的操作都执行成功,那自然万事大吉。但如果事务中的任何一个操作失败,那么事务中所有的操作都会被回滚,已经执行成功操作也会被完全清除干净,就好像什么事都没有发生一样。在现实世界中,最常见的与事务相关的例子可能就是银行转账了。假设我们需要将 1000 元从 A 账户中转到 B 账户中,这个转账操作共涉及了以下两个操作。原创 2023-08-17 18:03:20 · 186 阅读 · 0 评论 -
Spring JdbcTemplate(使用详解)
企业级应用开发中,很少有人直接使用原生的 JDBC API 进行开发,因为使用 JDBC API 对数据库进行操作十分繁琐,例如我们需要手动控制数据库连接的开启,异常处理、事务处理、最后还要手动关闭连接释放资源等等。Spring 提供了一个 Spring JDBC 模块,它对 JDBC API 进行了封装,其的主要目的降低 JDBC API 的使用难度,以一种更直接、更简洁的方式使用 JDBC API。原创 2023-08-16 08:50:39 · 660 阅读 · 0 评论 -
Spring AOP
Spring 提供的自动代理方案,都是基于后处理 Bean 实现的,即在 Bean 创建的过程中完成增强,并将目标对象替换为自动生成的代理对象。通过 Spring 的自动代理,我们在程序中直接拿到的 Bean 就已经是 Spring 自动生成的代理对象了。使用 Spring AOP 开发时,若没有对切面进行具体定义,Spring AOP 会通过 Advisor 为我们定义一个一般切面(不带切点的切面),然后对目标对象(Target)中的所有方法连接点进行拦截,并织入增强代码。原创 2023-08-14 10:49:32 · 504 阅读 · 0 评论 -
Spring Bean的作用域
默认情况下,所有的 Spring Bean 都是单例的,也就是说在整个 Spring 应用中, Bean 的实例只有一个。可以在 <bean> 元素中添加 scope 属性来配置 Spring Bean 的作用范围。例如,如果每次获取 Bean 时,都需要一个新的 Bean 实例,那么应该将 Bean 的 scope 属性定义为 prototype,如果 Spring 需要每次都返回一个相同的 Bean 实例,则应将 Bean 的 scope 属性定义为 singleton。原创 2023-08-11 09:07:25 · 122 阅读 · 0 评论 -
Spring Bean属性注入
在 Spring 实例化 Bean 的过程中,IoC 容器首先会调用默认的构造方法(无参构造方法)实例化 Bean(Java 对象),然后通过 Java 的反射机制调用这个 Bean 的 setXxx() 方法,将属性值注入到 Bean 中。新建一个Java 项目,并在 src 下创建一个名为com.xiaorizi.constructor 的包,创建一个名为 Grade 的类,代码如下。可以通过 Bean 的带参构造函数,以实现 Bean 的属性注入。原创 2023-08-09 09:45:23 · 142 阅读 · 0 评论 -
Spring IoC (控制反转)
IoC 是 Inversion of Control 的简写,译为“控制反转”,它不是一门技术,而是一种设计思想,是一个重要的面向对象编程法则。Spring 通过 IoC 容器来管理所有 Java 对象的实例化和初始化,控制对象与对象之间的依赖关系。我们将由 IoC 容器管理的 Java 对象称为 Spring Bean,它与使用关键字 new 创建的 Java 对象没有任何区别。IoC 容器是 Spring 框架中最重要的核心组件之一,它贯穿了 Spring 从诞生到成长的整个过程。原创 2023-08-07 10:13:23 · 957 阅读 · 0 评论