背景:接手一个项目,看到一个配置参数的引用: @Value("${webSocket.id}") 再看看配置application.yml: ... webSocket: id: w00005 ... 看上去再普通不过了,然而程序里打印出来竟然是w00001 原因: 在tomcat的conf/context.xml中也有这个配置: <Environment name="webSocket.id" value="w00001" type=&q…
spring boot 参数传数 arg0 每一个参数 arg0#{arg0},arg1  #{arg1} @Select("select * from sys_user where name=#{arg0} and pass=#{arg1}") public List<Map<String,Object>> getAllUser(String username,String password); 大于三个参数据,用传递对象 /** * Spring 启动 *…
假设有这么一个需求,要求在项目启动过程中,完成线程池的初始化,加密证书加载等功能,你会怎么做?如果没想好答案,请接着往下看.今天介绍几种在Spring Boot中进行资源初始化的方式,帮助大家解决和回答这个问题. CommandLineRunner 定义初始化类 MyCommandLineRunner 实现 CommandLineRunner 接口,并实现它的 run() 方法,在该方法中编写初始化逻辑 注册成Bean,添加 @Component注解即可 示例代码如下: package cn.z…
1.背景介绍 开发过程中,后台的参数校验是必不可少的,所以经常会看到类似下面这样的代码 这样写并没有什么错,还挺工整的,只是看起来不是很优雅而已. 接下来,用Validation来改写这段 2.Spring Boot文档中的Validation 在Spring Boot的官网中,关于Validation只是简单的提了一句,如下 其实,Spring Validator和Hibernate Validator是两套Validator,可以混着用,这里我们用Hibernate Validator 3.…
Spring Boot 项目创建 File->New->New Project->Spring Initializr 勾选 Web Spring Boot 版本选择稳定版,本文选择 2.1.1 最后一步,填写工程名字点击 finish 本地访问地址:http://localhost:8080/ 新建一个 Project, 系统都会帮我们创建一个名为 artifactId+Application 的入口类,这个类中有一个 main 方法,这个 main 方法就是一个标准的 Java 应用程…
假设有这么一个需求,要求在项目启动过程中,完成线程池的初始化,加密证书加载等功能,你会怎么做?如果没想好答案,请接着往下看.今天介绍几种在Spring Boot中进行资源初始化的方式,帮助大家解决和回答这个问题. CommandLineRunner定义初始化类 MyCommandLineRunner实现 CommandLineRunner 接口,并实现它的 run() 方法,在该方法中编写初始化逻辑注册成Bean,添加 @Component注解即可示例代码如下: @Component publi…
1.  @Valid 和 @Validated @Valid 注解,是 Bean Validation 所定义,可以添加在普通方法.构造方法.方法参数.方法返回.成员变量上,表示它们需要进行约束校验. @Validated 注解,是 Spring Validation 所定义,可以添加在类.方法参数.普通方法上,表示它们需要进行约束校验.并且,@Validated 具有 value 属性,支持分组校验. 声明式校验 @Validated 分组检验 @Validated 嵌套校验 @Valid 2…
spring boot遵循"约定优于配置"的原则,使用annotation对一些常规的配置项做默认配置,减少或不使用xml配置,让你的项目快速运行起来.spring boot的神奇不是借助代码的生成来实现的,而是通过条件注解来实现的. 自动配置AutoConfiguration是实现spring boot的重要原理,理解AutoConfiguration的运行原理特别重要,自己写一个AutoConfiguration可以加深我们对spring boot的理解. 1.定义Type-saf…
最简单的从Spring官网下载 :地址 https://start.spring.io/ 下拉选择需要的Spring Boot版本 修改Group和Artifact  直接点击Generate Project 即可生层项目压缩包 解压后,maven import到本地工作空间即可 打开src/main/java  找到对应的Application启动器 @SpringBootApplication public class DemoApplication { public static void…
在spring boot项目中使用了mongodb,当一段时间没有操作mongodb,下次操作mongodb时就会出现异常.异常如下: org.springframework.data.mongodb.UncategorizedMongoDbException: Prematurely reached end of stream; nested exception is com.mongodb.MongoSocketReadException: Prematurely reached end o…