
Spring
文章平均质量分 59
星夜孤帆
人之有吾,当应披荆棘,斩鬼熊,成就一番大事
展开
-
Spring重试机制
spring retry原创 2023-03-08 20:30:21 · 282 阅读 · 0 评论 -
从源码剖析Spring事务失效问题
1.Bean是否是代理对象2.入口函数是否是public的3.数据库是否支持事务(Mysql的Mvlsam不支持事务),行锁才支持事务4.切点是否配置正确5.内部方法间调用导致事务失效因为this不是代理对象,可以配置 expose-proxy="true",就可以通过AopContext.currentProxy0)获取到当前类的代理对象。<! -- expose-proxy="true”类内部可以获取到当前类的代理对象--><aop: aspectj-aut.原创 2021-06-06 16:39:36 · 401 阅读 · 1 评论 -
SpringBean的生命周期
一、SpringBean的生命周期Spring Bean的生命周期参考博客原创 2021-05-30 02:51:38 · 263 阅读 · 0 评论 -
Spring中init-method和destroy-method的四种方式
在java的实际开发过程中,我们可能常常需要使用到init method和destroy method,比如初始化一个对象(bean)后立即初始化(加载)一些数据,在销毁一个对象之前进行垃圾回收等。要用这两个方法,自然先要知道这两个方法究竟是干嘛用的。而从字面意思就很容易理解,一个是加载,一个是销毁。下边就正式代码演示几种创建方式:一、@Bean注解方式public class Person { private String name; private Integer原创 2021-05-29 16:31:13 · 14242 阅读 · 0 评论 -
解决org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type 异常
参考博客原创 2021-05-25 19:32:08 · 652 阅读 · 0 评论 -
Spring Boot禁用Debug和Info日志
新建logback-test.xml<?xml version="1.0" encoding="UTF-8"?><configuration> <include resource="org/springframework/boot/logging/logback/base.xml" /> <logger name="org.springframework" level="OFF"/></configuration>...原创 2021-05-21 21:19:35 · 730 阅读 · 0 评论 -
Spring的循环依赖
一、什么是循环依赖多个bean之间相互依赖,形成了一个闭环。比如:A依赖于B、B依赖于C、C依赖于A通常来说,如果问spring容器内部如何解决循环依赖,一定是指默认的单例Bean中,属性互相引用的场景也就是说,Spring的循环依赖,是Spring容器注入时候出现的问题。二、两种注入方式对循环依赖的影响循环依赖官网说明结论我们AB循环依赖问题只要A的注入方式是setter且singleton,就不会有循环依赖问题。...原创 2021-04-19 09:47:02 · 1501 阅读 · 0 评论 -
Spring的Aop顺序
一、Aop常用注解二、业务类2.1 CalcService2.2 CalServiceImpl想在除法方法前后各种通知,引入切面编程2.3 MyAspect新建一个切面类MyAspect并为切面类新增两个注解三、测试3.1 Spring4+Springboot1.5.9@SpringBootTest@RunWith(SpringRunner.class) //1.5.9public class T1{ @Autowired p原创 2021-04-18 21:51:30 · 342 阅读 · 1 评论 -
一文搞懂Spring
1.Spring IOC容器2.Spring AOP3.Spring JdbcTemplate4.Spring 事务操作5.Spring5新功能原创 2020-11-27 22:19:40 · 271 阅读 · 0 评论 -
Spring5框架新功能
一、整合日志框架整个Spring5框架的代码基于Java8,运行时兼容JDK9,许多不建议使用的类和方法在代码库中删除1.1 Spring5框架自带了通用的日志封装(1) Spring5已经移除Log4jConfigListener,官方建议使用Log4j2(2)Spring5框架整合Log4j21.1.1 引入jar包1.1.2 创建log4j2.xml配置文件<?xml version="1.0" encoding="UTF-8"?><!--日志级别原创 2020-11-27 21:11:11 · 312 阅读 · 0 评论 -
Spring 事务操作
一、事务概念1.1 什么是事务(1)事务是数据库操作的最基本单元,逻辑上一组操作,要么都成功,如果有一个失败所有操作都失败(2) 典型场景:银行转账a转账100元给ba少100,b多1001.2 事务四个特性(ACID)原子性:不可分割,要么全部成功,要么全部失败 一致性:操作之前,操作之后,总量是不变的。比如,a和b每人100,和为200,a向b转账以后加一起应该也是200 隔离性:多事务操作,它们之间互不影响。 持久性:提交之后,表中数据不会发生变化。二、搭建事务操作原创 2020-11-27 17:06:49 · 448 阅读 · 0 评论 -
Spring JdbcTemplate
一、JdbcTemplate概念1.1 什么是JdbcTemplateSpring框架对JDBC进行封装,使用JdbcTemplate方便实现对数据库操作1.2 准备工作1.2.1 引入相关jar包1.2.2 在spring配置文件配置数据库连接池 <!--数据库连接池--> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="c原创 2020-11-27 13:25:59 · 288 阅读 · 0 评论 -
Spring AOP
一、AOP概念1.1 什么是AOP1.面向切面编程(方面),利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。2.通俗描述,不通过修改源代码方式,在主干功能里面添加新功能1.2 使用登录例子说明AOP二、AOP底层原理2.1 AOP底层使用动态代理2.1.1 JDK动态代理有接口情况,使用JDK动态代理创建接口实现类代理对象,增强类的方法2.1.2 CGLIB动态代理没有接口情况,原创 2020-11-26 15:39:59 · 341 阅读 · 0 评论 -
Spring IOC容器
一、Spring框架概述1.1 概述1.Spring是轻量级的开源JavaEE框架2.Spring可以解决企业应用开发的复杂性3.Spring有两个核心部分:IOC和AOPIOC: 控制反转,把创建对象过程交给Spring进行管理。 Aop:面向切面编程,不修改源代码的情况下,进行功能增强。4.Spring特点方便解耦,简化开发 Aop编程支持 方便程序测试 方便和其他框架进行整合 方便进行事务操作 降低API开发难度1.2入门案例1.2.1 创建类User.原创 2020-11-20 20:30:26 · 446 阅读 · 1 评论 -
Spring学习-02-基于XML配置文件的依赖注入
pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/...原创 2019-04-28 15:21:18 · 270 阅读 · 0 评论 -
Spring学习-03-基于注解的依赖注入
pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/...原创 2019-04-28 16:38:26 · 151 阅读 · 0 评论 -
Spring学习-04-Spring多个配置文件
多个 Spring 配置文件在实际应用里,随着应用规模的增加,系统中 Bean 数量也大量增加,导致配置文件变得非常庞大、臃肿。为了避免这种情况的产生,提高配置文件的可读性与可维护性,可以将Spring 配置文件分解成多个配置文件。方式一:在resources目录下创建多个spring配置文件:spring-aop.xmlspring-bean.xml然后在测试方法中使用下...原创 2019-04-28 16:48:42 · 1629 阅读 · 0 评论 -
Spring学习-05-AOP面向切面编程
spring中的AOP程序中的问题在实际开发中我们需要添加一些非业务的代码,例如提交事务,记录日志等等,此时你可能会这些编写程序:定义一个记录日志的工具类:public class MyLog { /** * 记录日志 * @param clazz */ public static void doLog(Class<?>...原创 2019-04-28 17:45:55 · 170 阅读 · 0 评论 -
Spring学习-06-AspectJ对AOP的支持
AspectJ 对 AOP 的实现对于 AOP 这种编程思想,很多框架都进行了实现。 Spring 就是其中之一, 可以完成面向切面编程。AspectJ这个框架也实现了 AOP 的功能,且其实现方式更为简捷,使用更为方便,而且还支持注解式开发。所以,Spring2.0版本中将 AspectJ 的对于 AOP 的实现也引入到了自己的框架中,不过织入仍然还是使用的spring的aop完成。在 S...原创 2019-04-28 19:01:26 · 189 阅读 · 0 评论 -
Spring学习-07-spring在web中的使用
spring在web中的使用在web项目中使用spring在之前的示例中,我们都使用的是非web进行测试的,即没有部署到tomcat容器里面,在实际开发中,需要创建web项目,此时只需要将spring容器放到ServletContext域中即可。添加依赖导入相关spring-web的jar包,这里只需要在项目中添加下面依赖即可: <dependency> ...原创 2019-04-28 19:57:55 · 299 阅读 · 0 评论 -
SSM框架配置文件整合
1 web.xml 1.1前端控制器 <!-- 配置Spring MVC前端核心控制器 --><servlet> <servlet-name>springmvc</servlet-name> <servlet-class> org.springframework.web.servlet.Dispatche...原创 2019-06-10 15:57:43 · 443 阅读 · 0 评论 -
Spring学习-01-spring简介
spring简介spring简介Spring 是于 2003 年兴起的一个轻量级的Java 开发框架,创始人是Rod Johnson,它是为了解决企业应用开发的复杂性而创建的,随着时代的发展,spring旗下发展了很多项目,并且越来越多的开发者开始使用这些项目。spring的优点如下:方便解耦,简化开发(高内聚低耦合),可以将对象依赖关系的维护交给Spring管理。 IOC(Inve...原创 2019-04-28 14:42:20 · 280 阅读 · 0 评论