![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring Boot
文章平均质量分 86
噎翔
曾经的理想是做个程序员,那时以为程序就是计算机的全部。现在依然喜欢程序,但是开始明白,程序并不是计算机的全部,好的程序,好的程序员要经历漫长的修炼,就像是武林高手修炼内功比招式更重要。我要做的是程序员,不是coder。
展开
-
反射,校验参数工具类
@RequestMapping(value = "/saveEntity", method = RequestMethod.POST) @Transactional(rollbackFor = Exception.class) public Object saveEntity(HttpServletRequest request, @RequestBody StudentPO... vo) { //定义要校验的列 String[] para...原创 2020-08-16 23:36:35 · 222 阅读 · 0 评论 -
...参数接收方法,对象数组的JSON传递与接收,
@RequestMapping(value = "/saveEntity", method = RequestMethod.POST) @Transactional(rollbackFor = Exception.class) public Object saveEntity(HttpServletRequest request, @RequestBody Student... vo) { checkParam(vo,"存储对象"); String v...原创 2020-08-08 09:00:30 · 503 阅读 · 0 评论 -
springboot对前端传入参数进行校验,@Validated
首先点进注解源码,查看可以校验的范围:加在controller层用于接收参数的实体类前面 /** * 新增岗位 */ @PreAuthorize("@ss.hasPermi('system:post:add')") @Log(title = "岗位管理", businessType = BusinessType.INSERT) @PostMapping //加在controller层用于接收参数的实体类前面 public AjaxResult原创 2020-07-19 19:43:51 · 4719 阅读 · 2 评论 -
application.yml配置文件属性自动装配到实体类中各种数据类型写法
application.yml,配置实体类属性apps: userName: yexiang userAge: 27 happy: true birth: 1993/01/04# map: {k1: k1, k2: k2} 简便写法 map: k1: k1 k2: k2# list: [code, music ,dog] 简便写法 list: - code - music - dog dog: name: 来福原创 2020-07-17 23:48:32 · 1000 阅读 · 0 评论 -
spring boot导出excel文件报表并发送至邮箱实现步骤
1:pom.xml文件中引入POI相关依赖 <!--POI报表--> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>${poi.version}</ver原创 2020-07-15 10:47:10 · 2029 阅读 · 6 评论 -
使用mongodb地理位置索引查询,延时索引
下面使用的mongdb图形化界面工具Robo 3T 1.3.1数据库需要有对应的地理位置索引字段查看索引loc字段为一个长度为2的数组,代表当前数据的地理位置X, Y 坐标索引类型: 2dsphere (地理位置索引)应用场景推荐: 根据用户坐标查找附近店铺或商家在Java中通过给定的位置坐标,查询出数据库20公里范围内的数据 aggregation = Aggregation.newAggregation(原创 2020-07-12 11:41:22 · 434 阅读 · 0 评论 -
Consul配置中心支持
Consul不仅能用来服务注册和发现,还支持Key/Value键值对的存储,可以用来做配置中心,并且支持动态刷新,这样我们可以将工程中的配置信息保存在Cosul中。在父工程:pom文件中添加坐标<!--consul配置中心组件--><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-consul-config&原创 2020-07-11 21:23:22 · 1049 阅读 · 0 评论 -
Spring Boot项目改造微服务
Spring Boot项目改造微服务Spring Boot项目改造微服务父工程的pom文件中添加SpringCloud的依赖管理然后添加SpringCloud依赖坐标application.yml配置文件中添加如下配置集成consul注册中心启动consul注册中心Spring Boot项目改造微服务目前项目都是基于SpringBoot去构建的,现在要集成SpringCloud,需要将两者版本进行对应避免在开发过程中出现一些不必要的麻烦,SpringBoot和SpringCloud的版本对应关系如下原创 2020-07-11 20:31:39 · 1262 阅读 · 0 评论 -
Spring Boot Configuration Annotation Processor not found in classpath
pom.xml添加下面依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> </dependency>原创 2020-07-09 20:45:32 · 92 阅读 · 0 评论 -
SpringBoot集成logback日志框架
这里写目录标题logback集成日志级别(8个级别)appender配置详解rollingPolicy子标签:滚动策略encoder 子标签filter 子标签logger配置详解引入logback-spring.xml文件logback集成springboot 集成了logback日志系统,默认读取logbak配置文件,配置文件的名称默认叫:logback-spring.xml,如果想自定义配置文件的名称,需要在application.yml配置文件中作如下配置来指定logback的配置文件log原创 2020-07-09 09:18:25 · 247 阅读 · 0 评论 -
SpringBoot对多线程的集成及异步调用,ThreadPoolTaskExecutor类
多线程的集成及异步调用配置多线程ThreadPoolTaskExecutor配置ThreadPoolTaskExecutor参数SpringBoot中的异步调用1:定义任务方法2:在启动类上添加@EnableAsync注解3:回到测试类中编写测试方法test,然后测试4:线程池监控带返回值方法的调用及结果获取:threadPool.submit( Callable<>())不带返回值方法执行:threadPool.execute(Runnable())配置多线程ThreadPoolTaskE原创 2020-07-08 23:39:07 · 1583 阅读 · 0 评论 -
spring boot中应用定时任务 @Scheduled,常用cron表达式
定时任务1:启动类添加@EnableScheduling注解2:给定时任务方法添加@Scheduled启动项目常用cron表达式1:启动类添加@EnableScheduling注解@SpringBootApplication@EnableScheduling //开启定时器public class ScheduleApplication { public static void main(String[] args) { SpringApplication.run(Sched原创 2020-07-07 22:38:37 · 342 阅读 · 0 评论 -
缓存和数据库一致性问题 @PostConstruct
缓存和数据库一致性问题业务场景:如果缓存宕机了,就会造成数据库中的任务信息数据和缓存中的任务信息数据不同步,就会造成一致性问题,解决方案:可以在系统启动后立即同步数据库和缓存,将数据库中的任务信息数据加载到缓存实现思路:在spring中,在一个bean的初始化过程中,方法执行先后顺序为Constructor > @Autowired >@PostConstruct实现逻辑:编写syncData方法,在方法上添加@PostConstruct注解syncData的内部逻辑为:清除缓存原原创 2020-07-07 19:21:22 · 444 阅读 · 0 评论 -
Redis工具类分享及使用说明(几乎涵盖在所有redis缓存相关操作)
Redis工具类分享及使用说明知识小贴士(完整版再最下面)/** -------------------key相关操作--------------------- */* 删除key* 批量删除key* 序列化key* 是否存在key* 设置过期时间* 设置过期时间* 查找匹配的key* 将当前数据库的 key 移动到给定的数据库 db 当中* 移除 key 的过期时间,key 将持久保持* 返回 key 的剩余的过期时间* 返回 key 的剩余的过期时间* 从当前数据库中随机返回一个 key* 修改 key原创 2020-07-07 10:54:11 · 812 阅读 · 0 评论 -
Spring Boot项目使用乐观锁
基于Mybatis1:数据库添加version字段2:Java实体类对应字段添加==@Version注解==,将版本交由mybatis自动管理@Data@ToString@NoArgsConstructor@EqualsAndHashCode(callSuper = false) //不继承equals和hashcode方法@TableName("taskinfo_logs")public class TaskInfoLogsEntity extends TaskInfoEntity{原创 2020-07-06 23:13:09 · 2091 阅读 · 0 评论 -
Spring Boot项目集成Mybatis Plus
Mybatis Plus介绍:MyBatis-Plus](简称 MP)是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生中文文档: https://mybatis.plus1:pom.xml导入坐标1.1:安装lombok<dependencies><!-- mybatis-plus支持 --> <dependency> <groupId>com.baomidou</groupId>原创 2020-07-06 22:05:39 · 365 阅读 · 0 评论 -
遇到的坑SLF4J: Class path contains multiple SLF4J bindings,required string parameter ‘XXX‘is not present
那些年踩过的坑:在spring boot 项目中集成log4j2日志框架时出现如下问题SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/E:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ms-notify/WEB-INF/lib/log4j-slf4j-impl-2.9.1.jar原创 2020-06-09 14:38:29 · 292 阅读 · 0 评论