Spring
Galen-gao
Full-stack java, scala developer, code geek, programming geek
展开
-
一文读懂Spring 事务管理(十一)
事务是开发中应用程序最关键的部分之一,最常见的事务类型是基于数据库的操作。在关系型数据库中一个事务可以是一条SQL语句,也可以是一组SQL语句单元。在Java程序中实现事务主要有**声明式事务**与**编程式事务管理**两种实现方式。由于在开发中我们更关注业务本身逻辑的编程实现,无需在手动编码实现一个完整的事务管理模块,最好是开发人员通过声明方式定义事务需求,而Spring提供了对声明式事务良好的支持。原创 2020-07-15 16:31:05 · 421 阅读 · 0 评论 -
Spring 5框架之 Spring-Data-Jpa入门之HelloWorld (十)
1. 前言Spring 为JPA提供了很好的支持。Spring Data项目提供了一个名为Spring Data JPA ,提供了存储数据库的概念与规范以及对查询特定语言(QueryDSL)的支持。2.HelloWorld引入核心的pom依赖如下: <dependency> <groupId>org.springframework.data</groupId> <artifactId>s原创 2020-06-20 21:11:57 · 370 阅读 · 0 评论 -
Spring 5框架之使用AspectJ 实现AOP功能 (九)
1.前言开发中最常见就是使用Aspect完成AOP功能的实现,下面将简单使用@Aspect实现AOP的面向切面编程。关于Spring原生AOP的用法可参考之前的一篇博客文章 Spring5框架之AOP-ProxyFactory底层实现(五)在使用AspectJ之前让我先温习一下几个比较重要的概念如下所示:before:在某个连接点之前执行程序逻辑。after returning:连接点正常后执行的程序逻辑,需要注意的是如果程序抛出异常该通知并不会执行。after throwing :当程序出原创 2020-06-14 13:44:13 · 583 阅读 · 0 评论 -
Spring 5框架之高级切入点 ControlFlowPointcut、ComposablePointcut 应用(八)
这里写自定义目录标题前言ControlFlowPointcutComposablePointcut前言在之前的文章我们已经学习了NameMatchMethodPointcut、JdkRegexpMethodPointcut、DynamicMethodMatcherPointcut、AspectJExpressionPointcut、AnnotationMatchingPointcut 等切入点的使用,详情可参考 Spring5框架之AOP-Pointcut底层实现这篇文章。下面我们将继续介绍Contr原创 2020-06-08 22:40:33 · 1110 阅读 · 0 评论 -
Spring5框架之JDK动态代理与CGLIB代理两种代理方式性能比较(七)
在Spring中有两种类型的代理:一个是使用JDK Proxy类生成的代理,另一种就是使用CGLIB Enhancer类创建的CGLIB代理,下面将简单介绍两种代理方式原创 2020-06-07 01:39:33 · 927 阅读 · 2 评论 -
Spring5框架之AOP-Pointcut底层实现(六)
我们学习了基于`ProxyFactory`添加前置通知、后置通知、后置返回通知、异常通知以及更为强大的环绕通知的学习。`ProxyFactory`通过`addAdvice`方法用于配置代理的通知,其底层是将此方法委托给`addAdvisor`方法如下所示,并且`ProxyFactory`通过`setTarget`方法对目标的所有方法进行代理。原创 2020-06-02 10:23:44 · 1109 阅读 · 0 评论 -
Spring5框架之AOP-ProxyFactory底层实现(五)
文章目录1. 前言2. aop重要概念3.Spring AOP 架构3.1 切面3.2 ProxyFactory3.3 Spring通知3.3.1 创建前置通知3.3.2 创建后置返回通知3.3.3 创建环绕通知3.3.4 创建异常通知3.3.5 创建后置通知4. AOP 的综合案例源码1. 前言Spring aop 是Spring核心组件之一,通过aop可以简化编程。本文接下来将开始介绍spring aop入门学习2. aop重要概念(Aspect) 切面切面是封装在类中通知与切入点的集原创 2020-05-28 00:34:57 · 691 阅读 · 0 评论 -
Spring5框架之lookup-method与replaced-method方法实现依赖注入(四)
每当出去找工作的时候关于Spring的依赖注入一般面试官都会或多或少问一下,一般同学们回答无非就是setter方法注入或者是构造器注入,此时如果你可以回答出lookup-method与 replaced-method 方法注入相关细节,或许可以让你在众多面试者中脱引而出。需求...原创 2020-05-23 09:49:27 · 651 阅读 · 0 评论 -
Spring5框架入门学习之常见注解配置(三)
Spring除了提供基于xml配置还提供了基于注解的配置,开发中经常用基于注解的方式。Spring提供了很多注解掌握其使用方法与实现原理是非常有必要的。原创 2020-05-15 16:29:00 · 287 阅读 · 0 评论 -
Spring5框架入门学习之IOC依赖注入(二)
IOC的核心就是DI,Spring提供简单的机制来管理组件的依赖项,并在组件整个生命期都能进行管理。原创 2020-05-14 00:32:46 · 282 阅读 · 0 评论 -
Spring5框架入门学习之IOC实例化对象(一)
Spring框架是什么?spring安装本人的理解就是一艘航空母舰,其拥有很多不同的作战系统以及武器也可以与其他军事力量组装成一个航母战斗群。对应着我们的spring,其拥有从企业级到云计算等各个方面的技术栈,如下图所示:Spring拥有很多项目有如:Spring Boot 、Spring Framework、Spring Cloud等等,这里就不在一一介绍,感兴趣的同学们可以去官方网站查询...原创 2020-05-09 00:51:24 · 372 阅读 · 0 评论 -
Spring接口方法加@Transactional失效的原因解析
问题今天项目测试一个方法的时候,发现日志报错,日志报错大致如下:Connection is read-only. Queries leading to data modification are not allowedorg.springframework.dao.TransientDataAccessResourceException:### Error updating database...原创 2019-04-19 23:30:51 · 4690 阅读 · 0 评论