
【Spring Boot】
文章平均质量分 52
springboot
zero__007
这个作者很懒,什么都没留下…
展开
-
Mybatis在SpringBoot中是如何被加载执行
由于MapperScannerConfigurer这个类实现了BeanDefinitionRegistryPostProcessor,所以它就会被生成bean之前加载,调用它的postProcessBeanDefinitionRegistry方法,postProcessBeanDefinitionRegistry里面就会scan我们指定的package里的@Mapper类。里会返回代理对象,对象的类型即 构造函数里传进来的 mapperInterface。原创 2024-03-27 12:00:38 · 544 阅读 · 0 评论 -
使用事务(@Transactional)可能出现的问题
前言在之前的文章中已经对Spring中的事务做了详细的分析了,这篇文章我们来聊一聊平常工作时使用事务可能出现的一些问题(本文主要针对使用@Transactional进行事务管理的方式进行讨论)以及对应的解决方案事务失效事务回答相关问题读写分离跟事务结合使用时的问题事务失效事务失效我们一般要从两个方面排查问题数据库层面数据库层面,数据库使用的存储引擎是否支持事务?默认情况下MySQL数据库使用的是Innodb存储引擎(5.5版本之后),它是支持事务的,但是如果你的表特地修改了存储引擎,例如转载 2020-12-31 18:28:58 · 2869 阅读 · 0 评论 -
用Spring的事件监听机制实现了模块的解耦
背景这里我们有一个需求:“当用户支付成功时,需要修改订单状态;短信通知用户;通知仓库发货”原始解决方法你首先想到的肯定是这样public void paySuccess(String orderId) { if (StringUtils.isNotBlank(orderId)) { //1.修改订单状态 //2.发送短信通知用户 //3.通知仓库发货 }}在支付成功的方法里面调用修改订单的方法,调用短信通知用户的方法,调转载 2020-12-31 18:26:57 · 268 阅读 · 0 评论 -
@Async注解引发的Spring循环依赖分析
首先有一点可以确定,spring可以是解决某些循环依赖的,示例:@Servicepublic class AService { @Autowired private BService bService; public void testA() { }}@Servicepublic class BService { @Autowired private AService aService; public void testB() {原创 2020-11-09 17:18:07 · 1153 阅读 · 1 评论 -
hikari添加metric
@Bean @ConfigurationProperties(prefix = "spring.datasource.hikari") HikariDataSource dataSource(DataSourceProperties properties) { HikariDataSource dataSource = properties.initializeDataSourceBuilder() .type(HikariDataSource...原创 2020-06-28 21:13:03 · 1219 阅读 · 0 评论 -
springboot 生产环境部署脚本
转载自:https://blog.csdn.net/qq_27384769/article/details/79058917#!/bin/shSERVICE_DIR=/tmp/SERVICE_NAME=blog-api-boot-jpa-data-0.0.1-SNAPSHOTSPRING_PROFILES_ACTIVE=dev## java envexport JAVA_HOME=/opt/jdk1.8export JRE_HOME=${JAVA_HOME}/jrecase "$1"转载 2020-05-28 20:18:17 · 357 阅读 · 0 评论 -
SpringBoot自定义Druid数据源
@Configurationpublic class Config{ @Primary @Bean(initMethod = "init", destroyMethod = "close") @ConfigurationProperties(prefix = "spring.datasource") public DruidDataSource druidDat...原创 2019-11-18 20:04:30 · 497 阅读 · 0 评论 -
HttpServletRequest inputStream只能读取一次的问题
1原创 2019-11-10 11:41:12 · 1210 阅读 · 0 评论 -
Spring Boot 定义系统启动任务
在之前的Servlet项目中,如果在项目启动阶段要做一些数据初始化操作,一般定义一个 ServletContextListener,然后就可以监听到项目启动和销毁,进而做出相应的数据初始化和销毁操作,例如下面这样:public class MyListener implements ServletContextListener { @Override public void co...原创 2019-06-25 20:37:18 · 696 阅读 · 0 评论 -
浅析AOP源码(四)
前面介绍了Spring中AOP的运作流程,那么在Spring boot项目中AOP是怎么运作的呢?其实,关键还是在于Spring boot的自动注解。 一般项目中有spring-boot-starter-aop依赖,就会自动装配org.springframework.boot.autoconfigure.aop.AopAutoConfiguration,来看下这个类:@Confi...原创 2019-04-20 12:31:25 · 180 阅读 · 0 评论 -
Spring boot容器配置
转载自:https://blog.csdn.net/liaokailin/article/details/48948093 https://blog.csdn.net/pml18710973036/article/details/65447682Tomcat配置 Spring boot默认web程序启用tomcat内嵌容器,监听8080端口,servletPath默认为 / 。配置方...转载 2019-04-20 17:06:36 · 480 阅读 · 0 评论 -
Zipkin快速开始
转载自:https://segmentfault.com/a/1190000012342007 https://www.jianshu.com/p/92a12de11f18 https://blog.csdn.net/apei830/article/details/78722168 https://blog.csdn.net/apei830/article/details/...转载 2019-01-06 14:22:53 · 3644 阅读 · 1 评论 -
Spring Aop嵌套调用时没有生效
转载自:https://blog.csdn.net/hong10086/article/details/78424481 Spring AOP在同一个类里自身方法相互调用时是无法拦截的。比如在一个 Service 类的 doSomething1() 方法中通过doSomething2(); 语句调用了同一个类中的 doSomething2 方法,运行时通过调试发现 doSomething1 方...转载 2019-01-06 14:00:40 · 848 阅读 · 0 评论 -
Spring Boot中使用数据缓存
项目中经常会用到cache技术,Spring boot提供了方便的注解以便我们从重复的cache代码中解放出来。 首先得引入spring-boot-starter-cache这个jar,并在主类中使用 @EnableCaching 注解表示开启缓存。常用到一下三个注解:@Cacheable先看缓存是否有数据,有则直接返回,不调用目标方法;否则调用目标方法,并将结果缓存起来。@Cac...原创 2018-12-19 20:50:13 · 354 阅读 · 0 评论 -
Spring Boot 定时任务
Spring Boot 的定时任务非常简单:@Componentpublic class SchedulingConfig { /* @Scheduled(fixedRate = 5000) :上一次开始执行时间点之后5秒再执行 @Scheduled(fixedDelay = 5000) :上一次执行完毕时间点之后5秒再执行 @Scheduled(i...原创 2018-07-14 13:15:56 · 1522 阅读 · 0 评论 -
Spring Boot @Configuration 和 @Component
转载自:http://blog.csdn.net/isea533/article/details/78072133 @Configuration中所有带@Bean注解的方法都会被动态代理,调用该方法返回的都是同一个实例。转载 2017-10-31 19:35:05 · 28416 阅读 · 0 评论 -
Spring Boot入门(一)- Gradle构建应用
转载自:http://blog.csdn.net/u013360850/article/details/53415005 http://blog.csdn.net/hguisu/article/details/50956370 Spring Boot提供了一个强大的一键式Spring的集成开发环境,能够单独进行一个Spring应用的开发,其中:转载 2017-02-26 09:11:18 · 2874 阅读 · 1 评论 -
Spring Boot启动过程源码分析
转载自:http://blog.csdn.net/dm_vincent/article/details/76735888 http://blog.csdn.net/dm_vincent/article/details/77151122Spring Boot的启动始于:SpringApplication.run(DemoApplication.class,转载 2017-08-16 19:13:48 · 501 阅读 · 0 评论 -
Spring Boot启动过程源码分析(二)事件监听器
在http://blog.csdn.net/zero__007/article/details/77265239中大致介绍了Spring Boot启动过程,在SpringApplication.initialize()方法中会调用为setListeners()方法为SpringApplication添加监听器,默认的监听器是配置文件中Key为org.springframework.context.原创 2017-10-27 18:26:00 · 542 阅读 · 0 评论 -
Spring Boot自定义PropertySourceLoader
转载自: http://blog.csdn.net/catoop/article/details/71157986 http://blog.csdn.net/liaokailin/article/details/48194777 http://www.jianshu.com/p/5206f74a4406转载 2017-10-23 18:11:40 · 2593 阅读 · 0 评论 -
Spring Boot动态数据源切换实现
Spring Boot实现动态数据源切换可以先参看下http://blog.csdn.net/zero__007/article/details/48711017,了解大致下实现的原理。 首先我们使用db_dao.xml来配置各个datasource:<beans xmlns="http://www.springframework.org/schema/beans"原创 2017-10-23 18:00:05 · 9743 阅读 · 2 评论 -
Spring Boot自定义banner
在src/main/resources路径下新建一个banner.txt文件,并输入想要的内容即可。可以使用用在线生成图案的网站http://patorjk.com/software/taag/,将生成的内容粘贴到banner.txt中。 关闭Banner内容:springApplication.setBannerMode(Banner.Mode.OFF);...原创 2018-04-01 22:54:18 · 217 阅读 · 0 评论 -
SpringBoot Filter配置
Servlet API 中提供了一个Filter接口,通过Filter可以实现在访问某个目标资源之前,对访问的请求和响应进行拦截。 SpringBoot项目中可以通过两种方式来实现Filter的配置。首先看下自定义的Filter:public class UserFilter implements Filter { @Override public void ini...原创 2018-04-20 22:45:56 · 2899 阅读 · 0 评论 -
Spring注入static属性
转载自:https://blog.csdn.net/z69183787/article/details/25365873第一种方法:@Componentpublic class UserUtils { private static UserAccessor userAccessor; @Autowired(required = true) public vo...转载 2018-04-21 14:54:01 · 1174 阅读 · 0 评论 -
@Conditional
转载自:https://blog.csdn.net/doctor_who2004/article/details/79184230 @Conditional注解可以根据任何环境条件来注册bean,是否注册bean实例的条件有如下几个: 在classpath路径中是否存在某个特定的类 在ApplicationContext中是否还没注册过一个特定类型的bean 是否在某路...转载 2018-05-18 00:29:11 · 803 阅读 · 0 评论 -
Spring Boot入门(二)- 配置详解
转载自:http://blog.csdn.net/hguisu/article/details/51006252自动化配置 Spring Boot 对于开发人员最大的好处在于可以对 Spring 应用进行自动配置。Spring Boot会根据应用中声明的第三方依赖来自动配置Spring 框架,而不需要进行显式的声明。比如当声明了对 HSQLDB 的依赖时,Spring Boot 会自...转载 2018-05-20 10:52:56 · 174 阅读 · 0 评论 -
Spring Boot自动配置注解@EnableAutoConfiguration解密
Spring boot为了自动配置,增加了注解@EnableAutoConfiguration。一般只需要配置@SpringBootApplication即可,为什么呢?@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBootConfiguration...原创 2018-05-20 22:01:38 · 12024 阅读 · 0 评论 -
SpringBoot AOP统一处理请求日志
转载自:https://blog.csdn.net/catoop/article/details/71556374直接看代码示例:@Aspect@Componentpublic class WebLogAspect { private static final Logger LOG = LoggerFactory.getLogger(WebLogAspect.class);...转载 2018-05-27 18:03:36 · 501 阅读 · 0 评论 -
Spring Boot内嵌容器
使用Spring Boot工程时默认web容器是Tomcat,但是可以根据需要进行修改,例如使用Jetty或者Undertow。只需要排除spring-boot-starter-web包中的spring-boot-starter-tomcat,然后添加其它的容器即可,例如spring-boot-starter-jetty。 不用修改任何代码即可完成容器的切换,那么Spring Boo原创 2018-01-17 18:52:12 · 1103 阅读 · 0 评论