springboot
/
車輪の唄
atarik@163.com
展开
-
SpringBoot中main方法执行完毕后程序不会直接退出
大部分人应该都知道使用System.exit()或Runtime.exit()可以直接导致当前JVM进程退出,但是仔细想想这个好像跟SpringBoot没啥关系哈另外一个可能会导致进程退出的是所有的非daemon进程完全终止,那么根据这个条件反推的话是不是说只要保证SpringBoot进程中包含1个以上的daemon进程就可以保证程序不会退出接下来我们去看下SpringBoot是如何基于这个特性实现的我们以SpringBoot默认使用的Tomcat容器为例,在我之前SpringBoot源码分析的原创 2020-09-02 19:40:26 · 2019 阅读 · 0 评论 -
Spring Boot的日志管理(日志输出)
默认情况下,Spring Boot的日志是输出到控制台的,不写入任何日志文件。要让Spring Boot输出日志文件,最简单的方式是在application.properties配置文件中配置logging.path键值,如下:(日志文件为spring.log)?12logging.path=/var/log原创 2018-02-05 09:15:35 · 699 阅读 · 0 评论 -
SpringBoot项目中使用AOP
1.概述将通用的逻辑用AOP技术实现可以极大的简化程序的编写,例如验签、鉴权等。Spring的声明式事务也是通过AOP技术实现的。Spring的AOP技术主要有4个核心概念:Pointcut: 切点,用于定义哪个方法会被拦截,例如 execution(* cn.springcamp.springaop.service.*.*(..))Advice: 拦截到方法后要执行的动作Aspect: 切面,把...原创 2018-02-26 17:56:31 · 551 阅读 · 0 评论 -
Spring Boot 数据源和事务的使用
Spring Boot 使用事务非常简单,首先使用注解 @EnableTransactionManagement 开启事务支持后,然后在访问数据库的Service方法上添加注解 @Transactional 便可。关于事务管理器,不管是JPA还是JDBC等都实现自接口 PlatformTransactionManager 如果你添加的是 spring-boot-starter-jdbc 依赖,框架...原创 2018-02-24 16:16:15 · 486 阅读 · 0 评论 -
springboot 打印http请求和处理系统异常日志
@Configurationpublic class YuncaiRequestLoggingFilter { private static final int MAX_PAYLOAD_LENGTH = 10000; @Autowired private CustomServletContextRequestLoggingFilter customServletContextReques...原创 2018-04-26 14:41:52 · 4273 阅读 · 0 评论 -
安全地停止SpringBoot应用服务
1. 在pom.xml中引入actuator依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId></dependency>2. 开启shutdow...原创 2018-05-22 18:28:12 · 791 阅读 · 0 评论 -
springboot 静态资源
1. “spring.mvc.static-path-pattern”spring.mvc.static-path-pattern代表的含义是我们应该以什么样的路径来访问静态资源,换句话说,只有静态资源满足什么样的匹配条件,Spring Boot才会处理静态资源请求,以官方配置为例:# 这表示只有静态资源的访问路径为/resources/**时,才会处理请求spring.mvc.sta...原创 2019-01-03 16:41:26 · 285 阅读 · 0 评论 -
SpringBoot中Session超时原理说明
一:前言:最近支付后台登录一段时间后如果没有任何操作,总是需要重新登录才可以继续访问页面,出现这个问题的原因就是session超时,debug代码后发现session的超时时间是1800s。也就是说当1800秒内没有任何操作,session就会出现超时现象。那这个超时时间是如何设置的呢?然后该如何重新设置此超时时间呢?系统又如何判断session超时的呢?接下来就一一进行解答。二:系统ses...原创 2018-12-25 15:27:31 · 2032 阅读 · 0 评论 -
spring web 全局异常处理
@ControllerAdvice注解 + @ExceptionHandler注解实现一个异常处理类,在类上应用@ControllerAdvice注解,并在异常处理方法上应用@ExceptionHandler注解。那么在web应用中,当Controller的@RequestMapping方法抛出指定的异常类型时,@ExceptionHandler修饰的异常处理方法就会执行@Controll...原创 2018-12-25 17:53:32 · 347 阅读 · 0 评论 -
Spring boot start with Undertow
Undertow是Jboss开发的一款基于XNIO的高性能 Web 服务器,并且兼容servlet3.1,在spring boot中很容易利用starter来替换掉tomcat作为服务容器。这里有一篇文章,时间 2017年1月26日发布的:Tomcat vs. Jetty vs. Undertow: Comparison of Spring Boot Embedded Servlet Con原创 2018-01-10 10:03:00 · 1477 阅读 · 0 评论 -
Cannot load driver class: com.mysql.jdbc.Driver
将springboot自动生成的pom文件<dependency><groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency&原创 2018-01-22 19:22:05 · 511 阅读 · 0 评论 -
spring boot 配置Filter过滤器
Filter 过滤器是web开发中很重要的一个组件,下面以一个session登陆的例子介绍下spring boot中如何使用Filterfilter功能,它使用户可以改变一个 request和修改一个response. Filter 不是一个servlet,它不能产生一个response,它能够在一个request到达servlet之前预处理request,也可以在离开 servlet时处原创 2018-01-25 13:56:32 · 469 阅读 · 0 评论 -
spring boot filter 配置多个时,执行顺序
在web.xml中,我们知道,执行顺序是谁在前边执行谁。在spring boot中的FilterRegistrationBean注册过滤器的类中有个order属性,private int order = Ordered.LOWEST_PRECEDENCE;细看源码可以知道,这个order的默认值是Integer.MAX_VALUE 也就是int的最大值,spring boot 会...原创 2018-01-25 13:59:11 · 2998 阅读 · 0 评论 -
@Configuration 和 @Component 区别
一句话概括就是 @Configuration 中所有带 @Bean 注解的方法都会被动态代理,因此调用该方法返回的都是同一个实例。下面看看实现的细节。@Configuration 注解:@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Componentpublic @interfa...原创 2018-01-19 14:42:21 · 1515 阅读 · 0 评论