
Spring
文章平均质量分 58
philpy_used
这个作者很懒,什么都没留下…
展开
-
Spring拦截器通过Stream拦截请求体后Controller无法通过@RequestBody获取的解决方案
核心:javax.servlet.http.HttpServletRequestWrapperWebMvcConfig:@Configurationpublic class WebMvcConfig implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new MyInterc原创 2022-03-06 20:13:01 · 1111 阅读 · 1 评论 -
Spring 编程式定时任务
(其实不单单事务有编程式和声明式,定时任务也有哦…)Spring 声明式定时任务大家都用的很频繁并且很熟练了吧,通过@EnableScheduling和@Schedule(cron)注解即可实现。虽然声明式定时任务配合上强大的cron表达式已经可以满足我们的大多数需求了,但是如果说在程序运行期间我们需要更改定时任务的执行频率,通过编程式@Schedule注解是不容易去实现的。为此Spring为我们提供了一个接口SchedulingConfigurer可以让定时任务在运行时更改执行频率,我们只需要一个实原创 2022-02-17 17:34:04 · 684 阅读 · 0 评论 -
Spring 声明式事务
项目结构:表结构:基于xml的声明式事务配置IAccountDao.java:package tx.dao;import java.math.BigDecimal;public interface IAccountDao { void add(String name, BigDecimal money); void sub(String name, BigDecimal money);}AccountDaoImpl.java:package tx.servi原创 2021-09-20 20:11:39 · 763 阅读 · 0 评论 -
Spring の HelloWorld
Maven创建项目mvn archetype:generate -DgroupId=com.philpy -DartifactId=springExample -DarchetypeArtifactId=maven-archetype-quickstart新建的Spring项目目录结构为:配置pom.xmlpom.xml添加jdk版本配置:<properties> <java.version>11</java.version> <ma原创 2021-07-22 22:20:29 · 330 阅读 · 0 评论 -
【代理模式】静态代理 | 动态代理
代理模式代理模式是面向对象编程中比较常见的设计模式。我们一一个新建的简单的CRUD例子为例:一个CRUD接口有四个方法(增删改查),用户去使用的时候可以调用这个接口的实现类CRUDImpl:但是一旦我们想要增加某些功能,比如说想要输出日志,那么我们就需要去修改CRUDImpl的源代码,在大项目中,这样做是有风险的。所以我们如何可以在不改变底层源代码的基础上实现功能扩展呢?这就用到了代理类:我们新建一个代理类CRUDImplProxy同样也是实现了CRUD接口,但是它的内部还有一个私有属性为CRU原创 2021-03-10 20:06:55 · 165 阅读 · 0 评论 -
Spring AOP 三种实现方式
还是使用之前CURD的例子配置pom.xml添加AOP的依赖<!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver --><dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.6&l原创 2021-03-10 22:37:25 · 181 阅读 · 0 评论