SpringBoot配置文件及自动配置原理详解,这应该是SpringBoot最大的优势了吧
[#](#一-概述) (一)概述 {#一-概述} ------------------------ SpringBoot使用一个全局的配置文件来修改SpringBoot自动配置的默认值,SpringBoot提供了三种格式的配置文件: ![](http://static.51tbox.com/static/2024-10-27/col/506e8069e359f7b71292...
[#](#一-概述) (一)概述 {#一-概述} ------------------------ SpringBoot使用一个全局的配置文件来修改SpringBoot自动配置的默认值,SpringBoot提供了三种格式的配置文件: ![](http://static.51tbox.com/static/2024-10-27/col/506e8069e359f7b71292...
SpringBoot底层统一采用SpringData处理数据库,这一章主要来讲一下SpringBoot整合jdbc、durid、mybatis的方式。 [#](#一-整合jdbc) (一)整合jdbc {#一-整合jdbc} ------------------------------------ 整合jdbc主要有三步: 1.引入依赖 2.配置数据源 3.访问 引入spr...
[#](#一-概述) (一)概述 {#一-概述} ------------------------ 对于一个Web项目来说,最重要的不是功能酷不酷炫,而是这个项目安不安全。做过项目的人都知道,一个项目在上线前一定会经过安全漏扫,只有通过安全漏扫后这个项目才能正式上线。 Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架,类似的安全框架还有Shir...
[#](#一-概述) (一)概述 {#一-概述} ------------------------ Shiro是Apache的一个安全框架,Shiro可以非常容易的开发出安全性足够好的应用,Shiro可以完成认证、授权、加密、会话管理、缓存等功能。 从应用程序的角度来观察Shiro,我们可以发现Shiro的运行过程主要如下: ![](http://static.51tbox...
[#](#一-概述) (一)概述 {#一-概述} ------------------------ 最近遇到一个功能点,数据库中一张很简单的表有一千多条数据,这里的数据主要做到了值域映射的作用,简单来讲就是我可以通过中文名拿到数据库中对应的code值。原本的实现方式是每次用到之后去查一次sql,虽然不会有什么问题,但是只要是走了网络io,都会消耗时间。所以这个方案需要想办法优...
[#](#一-异步任务) (一)异步任务 {#一-异步任务} ------------------------------ 异步任务的需求在实际开发场景中经常遇到,Java实现异步的方式有很多,比如多线程实现异步。在SpringBoot中,实现异步任务只需要增加两个注解就可以实现。当前类添加@Async注解,启动类添加@EnableAsync 编写一个service,Asy...
[#](#一-概述) (一)概述 {#一-概述} ------------------------ SpringBoot以其自动装配的能力被广泛应用,我们在写代码时肯定遇到过很多spring-boot-starter命名的依赖,比如spring-boot-starter-web,在pom文件中引入这些starter依赖后,SpringBoot就能通过自动装配的技术扫描到这些类...
[#](#前言) 前言 {#前言} ----------------- 前几天有人问了我这样一个问题:在使用多线程的时候,发现有一些数据会在进入到子线程之后丢失,比如用户信息,又比如记录日志的TraceId等等。这个子线程数据丢失的问题我早前也遇到过,刚好来讲讲解决方案。 [#](#前期准备) 前期准备 {#前期准备} ----------------------- 首先...
[#](#前言) 前言 {#前言} ----------------- 上一篇文章介绍了如何使用MyBatis的Plugin,来实现SQL的日志打印,这篇文章介绍一下如何将SpringBoot的请求日志,优雅地打印到日志中。 实现效果是这样的,只需要在需要打印的接口上加上一个注解,或者增加一项配置项,一个很详细的请求出入参等信息就被打印出来了。 ![](http://sta...
[#](#一-什么是粘包、半包) (一)什么是粘包、半包 {#一-什么是粘包、半包} ------------------------------------------ 在实际的网络开发中或者在面试中,最开始使用TCP协议时经常会碰上粘包和半包的情况,因此我们有必要了解一下什么是粘包,什么是半包,以及如何去解决。 **粘包**:故名思意就是客户端和服务端之间发送的数据包粘...