![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
应用
文章平均质量分 81
桐花思雨
这个作者很懒,什么都没留下…
展开
-
Spring JDBC Template之基础篇
Spring JDBC Template之基础篇。原创 2022-10-17 00:07:47 · 238 阅读 · 0 评论 -
Spring JDBC Template之入门篇
Spring JDBC Template 之入门篇原创 2022-10-16 23:52:50 · 125 阅读 · 0 评论 -
Spring容器 & SpringMVC容器 & Web容器的关系
首先 和 它俩都是容器,容器就是管理对象 的地方,例如 就是管理 对象的,而 容器和 容器,就是管理 对象的地方直白的点, 就是管理 对象的容器, 就是管理 和 对象的容器,这下你明白了吧。所以我们在 的 配置文件里配置的扫描路径就是 的路径,而 的配置文件里自然配的就是 和 的路径。至于他是怎么管理起来的,又是怎么注入属性的,这就涉及到他们底层的实现技术了 的 配置文件配置 的 配置文件配置1.2. 容器 & 容器不同点其次, 容器和 容器的关系是父子容器的原创 2022-10-16 23:13:51 · 313 阅读 · 0 评论 -
Spring注解驱动开发之BeanPostProcessor后置处理器
接口称为bean的后置处理器,它有力的支撑了Spring AOP的实现,所以了解学习接口非常有必要,对于我们理解Spring AOP有很大的帮助。原创 2022-10-04 01:46:27 · 545 阅读 · 0 评论 -
Spring注解驱动开发之使用@PostConstruct和@PreDestroy指定初始化和销毁前后的方法
在之前的文章中,我们介绍了如何使用@Bean注解指定初始化和销毁的方法,也介绍了使用和来处理bean的初始化和销毁。除此之外,在JDK中还提供了两个注解能够在bean创建完成且属性赋值完成之后初始化方法之前执行一些工作和在容器销毁bean之前通知我们进行一些工作。原创 2022-10-03 22:47:17 · 819 阅读 · 0 评论 -
Spring注解驱动开发之使用InitializingBean接口和DisposableBean接口指定初始化和销毁的方法
在上一篇文章中,我们讲述了如何使用@Bean注解来指定bean初始化和销毁的方法,具体的用法就是在@Bean注解中使用initMethod属性和属性来指定初始化方法和销毁方法。除此之外,Spring中还提供了接口和接口的方式来指定bean初始化和销毁的方法Spring中提供了一个接口,该接口为bean提供了属性填充完成后的处理方法,它只包括方法,凡是继承该接口的类,在bean的属性填充完成后都会执行该方法}根据接口中提供的方法的名字不难推断出,方法是在属性赋好值之后调用的。原创 2022-10-03 19:27:10 · 391 阅读 · 0 评论 -
Spring注解驱动开发之使用@Bean指定初始化和销毁的方法
通常意义上讲的bean的生命周期,指的是bean从创建、初始化、属性填充、经过一系列的流程,最终销毁的过程。只不过在Spring中bean的生命周期是由Spring容器来管理的,在Spring中,我们也可以自己来指定bean的初始化和销毁的方法。我们指定了bean的初始化和销毁方法之后,当容器在bean进行到当前生命周期的阶段时,会自动调用我们自定义的初始化和销毁方法。原创 2022-10-03 17:23:32 · 961 阅读 · 0 评论 -
Spring中的@Autowired,@Qualifier和@Primary注解
目录1. `@Autowired` 注解1.1. `@Autowired` 注解的使用1.1.1. 类成员变量上(较为常用)1.1.2. 用在方法上1.1.3. 用在构造器上1.1.4. 用在参数上1. @Autowired 注解1.1. @Autowired 注解的使用@Autowired 注解,可以对类成员变量、方法和构造函数进行标注,完成自动装配的工作1.1.1. 类成员变量上(较为常用)@Controllerpublic class SoakController { @Autowi原创 2022-03-14 22:35:50 · 1326 阅读 · 1 评论 -
Spring中的@Autowired自动装配
一:什么是自动装配自动装配:就是 spring 会在容器中自动的查找,并自动的给 bean 装配及其关联的属性涉及到自动装配Bean的依赖关系时,Spring 有多种处理方式。因此,Spring 提供了 4 种自动装配策略public interface AutowireCapableBeanFactory extends BeanFactory { // 无需自动装配 int AUTOWIRE_NO = 0; // 按名称自动装配 bean 属性 int AUTOWIRE_BY_NAM原创 2020-09-15 23:38:25 · 5985 阅读 · 2 评论 -
@Autowired与@Resource的区别
目录1. `@Autowired` 与 `@Resource` 的区别1.1 来源1.2. 默认使用的装配方式1. @Autowired 与 @Resource 的区别1.1 来源@Resource 不是 Spring 的注解,它的包是 javax.annotation.Resource@Autowired 是 Spring 框架提供的注解1.2. 默认使用的装配方式@Autowired 默认使用 byType 自动装配,如果匹配到类型的多个实例,再通过 byName 来确定 bean,默原创 2022-03-14 21:22:14 · 751 阅读 · 0 评论 -
Spring项目中时间格式化的方法
目录前言使用工具类 `SimpleDateFormat`使用 `@JsonFormat`前言在 web 开发中,我们经常会遇到前台和后台进行时间格式转换交互,下面做一下总结使用工具类 SimpleDateFormat使用 @JsonFormat使用 @JSONField使用 @DateTimeFormat使用工具类 SimpleDateFormat对于这个工具类这里不做过多的赘述SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd原创 2021-04-17 13:53:57 · 5691 阅读 · 0 评论 -
Spring中的@NumberFormat注解
目录`@NumberFormat` 注解的作用使用示例@NumberFormat 注解的作用负责输入输出数据的格式化工作,如将数据转换成特定的货币类型格式,百分比类型格式等使用示例先写个 index.html,分别测试整数、百分数、货币类型<!DOCTYPE html><html><head> <title>Spring MVC的数据类型转换</title> <meta http-equiv="Content-T原创 2022-01-01 20:39:28 · 11378 阅读 · 0 评论 -
Spring自带的工具类总结
目录断言断言断言是一个逻辑判断,用于检查不应该发生的情况Assert 关键字在 JDK 1.4 中引入,可通过 JVM 参数 -enableassertions 开启SpringBoot 中提供了 Assert 断言工具类,通常用于数据合法性检查// 要求参数 object 必须为非空(Not Null),否则抛出异常,不予放行// 参数 message 参数用于定制异常信息。void notNull(Object object, String message)// 要求参数必须空(Nu原创 2022-02-26 23:10:53 · 245 阅读 · 0 评论 -
JDK动态代理和CGLIB动态代理的区别
目录`JDK` 动态代理`CGLIB` 动态代理JDK 动态代理自 JDK 1.3 以后,Java 提供了动态代理技术,允许开发者在运行期创建接口的代理实例,后来这项技术被用到了 Spring 的很多地方。JDK 动态代理主要涉及 java.lang.reflect 包下边的两个类:Proxy 和 InvocationHandler。其中,InvocationHandler 是一个接口,可以通过实现该接口定义横切逻辑(如:我们在方法执行前后打印的日志,本文只是为了演示,实际的应用一般不会只是简单的打印日原创 2022-02-26 19:18:37 · 6435 阅读 · 1 评论 -
Spring的注入方式中,官方推荐哪种方式
目录`Spring` 的注入方式属性注入`set` 方法注入Spring 的注入方式首先来看看 Spring 中的实例该如何注入,总结起来,无非三种方式属性注入set 方法注入构造器注入属性注入属性注入是大家最为常见也是使用最多的一种注入方式了,代码如下@Servicepublic class BService { @Autowired AService aService; //...}这里使用 @Autowired 注解注入。另外也有 @Re原创 2022-01-03 17:48:57 · 1333 阅读 · 0 评论 -
如果Service有多个实现类,Spring怎么知道该注入哪个实现类
目录`Service` 有多个实现类该怎样解决Service 有多个实现类该怎样解决Controller 中注入 service 的时候使用 @Autowired 自动注入,使用注解 @Qualifier("beanId") 来指定注入哪一个Controller 中注入 service 的时候使用 @Resource(type = 类名.class) 来指定注入哪一个每个 service 的实现类都可以指定名称(使用 @Service(“名称”)),Controller 中注入 service 的原创 2021-12-19 16:17:35 · 1434 阅读 · 0 评论 -
Spring中的bean是否是线程安全的
目录前言`spring` 的 `bean` 作用域前言spring 容器中的 bean 是否线程安全,容器本身并没有提供 bean 的线程安全策略,因此可以说 spring 容器中的 bean 本身不具备线程安全的特性,但是具体还是要结合具体 scope 作用域的去研究spring 的 bean 作用域singleton:单例,默认的作用域prototype:原型,每次获取该 bean 都会创建一个新的 beanrequest:每次 HTTP 请求会产生一个新的 bean,该 bean仅在当前原创 2021-10-17 17:22:40 · 583 阅读 · 0 评论 -
Spring事务及事务不生效的原因
目录注解 `@Transactional` 的属性参数`Spring` 中事务的传播机制`Spring` 中事务的隔离级别常用数据库的隔离级别`readOnly` 事务的读写性事务的只读性概念应用场景`timeout` 超时时间`rollbackFor` 和 `rollbackForClassName` 遇到时回滚`noRollbackFor` 和 `noRollbackForClassName` 遇到时不回滚`value` 指定使用的事务管理器`spring` 事务不生效的原因数据库引擎不支持事务`@Tr原创 2021-09-06 00:08:47 · 3849 阅读 · 7 评论 -
Spring实现Controller中方法参数校验
目录前言`JSR303、Hibernate-validation、Spring-validation`之间的关系前言数据的校验是网站一个不可或缺的功能,前端的 js 校验可以涵盖大部分的校验职责,如用户名唯一性,生日格式,邮箱格式校验等等常用的校验。但是为了避免用户绕过浏览器,使用 http 工具直接向后端请求一些违法数据,服务端的数据校验也是必要的JSR303、Hibernate-validation、Spring-validation之间的关系...原创 2021-05-17 00:10:29 · 9403 阅读 · 0 评论 -
Spring事务机制
事务事务是一个由有限操作集合组成的逻辑单元。事务操作包含两个目的,数据一致以及操作隔离。数据一致是指事务提交时保证事务内的所有操作都成功完成,并且更改永久生效;事务回滚时,保证能够恢复到事务执行之前的状态。操作隔离则是指多个同时执行的事务之间应该相互独立,互不影响事务属性和行为A C I D 属性原子性:事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行一致性:事务应确保数据库的状态从一个一致状态转变为另一个一致状态。一致状态的含义是数据库中的数据应满足完整性约束隔原创 2021-01-25 18:16:09 · 1735 阅读 · 0 评论 -
Spring之AOP的实现
一:采用声明式的方式实现(基于XML)1:Maven 配置<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version></dependency><dependency> <groupId原创 2020-09-01 00:46:24 · 146 阅读 · 0 评论 -
为什么要用IOC和AOP
前言作为一名 Java 开发,对 spring 框架是再熟悉不过的了。spring 支持的控制反转(Inversion of Control,缩写为IOC)和面向切面编程(Aspect-oriented programming,缩写为AOP)早已成为我们的开发习惯,仿佛 Java 开发天生就该如此。人总是会忽略习以为常的事物,所有人都熟练使用 IOC 和 AOP,却鲜有人说得清楚到底为什么要用 IOC 和 AOPspring IOC我们现在假设回到了没有 IOC 的时代,用传统的 servlet 进行原创 2021-02-23 18:50:36 · 245 阅读 · 3 评论 -
Spring的依赖注入的方式
目录什么是依赖注入与控制反转依赖注入与自动装配的关系`spring` 基于 `xml` 文件形式的依赖注入的方式什么是依赖注入与控制反转依赖注入:当一个类的实例需要另一个类的实例协助时,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。然而采用依赖注入的方式,创建被调用者的工作不再由调用者来完成,创建被调用者的实例的工作由 IOC 容器来完成。然后注入调用者,称为依赖注入控制反转:当一个类的实例需要另一个类的实例协助时,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。然而采用控制反转原创 2021-04-20 11:17:48 · 245 阅读 · 0 评论