SpringBoot
一步一步学习springboot
明天争取
听一首好歌,写一段代码,阅生活百态。
展开
-
【解决方案】Xstream报错 java.lang.ClassCastException
无法进性同类型转换!Xstream java.lang.ClassCastException在SpringBoot项目中,使用Xstream反序列化xml成实体类时,会发生明明是同种类型,在实际使用时却出现java.lang.ClassCastException的异常。原因因为springboot项目中不是使用的默认classloader。解决方法手动重设xtream的classloader...原创 2021-06-07 15:34:21 · 644 阅读 · 0 评论 -
【解决方案】springboot 设置非web启动
spring.main.web-application-type=none原创 2020-05-10 12:10:37 · 2311 阅读 · 0 评论 -
【解决方案】springboot 打jar包后启动,resource下配置文件找不到
public static String getFileContent(String fileName) { StringBuilder sb = new StringBuilder(); try { ClassPathResource classPathResource = new ClassPathResource(fileName);...原创 2020-04-17 13:12:58 · 2290 阅读 · 0 评论 -
【解决方案】@Valid校验list无效
校验List@Valid只能校验JavaBean,而List不是JavaBean所以校验会失败,解决方案如下:@Datapublic class ListWrapper<E> { @NotEmpty @Valid private List<E> list; public ListWrapper() { l...原创 2020-03-20 14:58:21 · 5415 阅读 · 3 评论 -
【解决方案】springboot增加全局时间转换器
@Configurationpublic class GlobalDateConvertConfig { /** * Date转换器,用于转换RequestParam和PathVariable参数 */ @Bean public Converter<String, Date> dateConverter() { retu...原创 2020-03-20 14:51:56 · 884 阅读 · 0 评论 -
【版本控制】SpringCloud和Springboot之间依赖关系如何查看
一、粗略版本对应查看方法:https://spring.io/projects/spring-cloudRelease train Spring Boot compatibility Release Train Boot Version Hoxton 2.2.x Greenwich 2.1.x ...原创 2020-03-11 16:04:13 · 1683 阅读 · 0 评论 -
【解决方案】springboot引入通用配置文件
springboot中spring.profiles.include的妙用。我们有这样的一个springboot项目。项目分为开发、测试、生产三个不同阶段(环境),每个阶段都会有db、ftp、redis等的不同配置信息。我们可以使用spring.profiles.include来实现三种不同环境的一键切换。项目总(入口)配置文件:bootstrap.yml,内容如下...转载 2020-03-06 18:09:40 · 551 阅读 · 0 评论 -
【解决方案】log4j2配置日志打印时区
日志设置时区:<!--log4j2 配置timezone --><property name="LOG_PATTERN" value="%date{yyyy-MM-dd HH:mm:ss.SSS}{GMT+8} %-5level [%thread] %logger{36}-[%M]-[%L] - %msg%n" />{GMT+8} 可将日志打印日期为:GMT时间...原创 2020-03-02 22:21:18 · 3578 阅读 · 0 评论 -
【解决方案】Springboot整合log4j2
1、添加log4j2包,并排除springboot自带的log组件implementation 'org.springframework.boot:spring-boot-starter-log4j2'configurations.all { exclude group: 'org.springframework.boot', module: 'spring-boot-s...原创 2020-01-12 10:53:09 · 789 阅读 · 0 评论 -
【解决方案】httpclient 4.3自定义 header问题
PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); cm.setMaxTotal(MAX_CONNECTIONS); cm.setDefaultMaxPerRoute(MAX_CONNECTIONS); httpClient = Http...原创 2020-01-06 12:03:57 · 949 阅读 · 0 评论 -
【解决方案】JPA打印SQL参数
#打印sqlspring.jpa.show-sql=true#打印sql参数logging.level.org.hibernate.type.descriptor.sql.BasicBinder=trace转载 2020-01-03 10:06:43 · 1391 阅读 · 0 评论 -
【解决方案】Java校验14位字符串是否为正确的日期格式。
public class StringUtils { private static final ThreadLocal<DateFormat> timeFormat = new ThreadLocal<DateFormat>() { @Override protected DateFormat initialValue(...原创 2019-12-15 08:23:33 · 1024 阅读 · 0 评论 -
【解决方案】IDEA 配合 gradle 时候无法正确编译资源文件resources的问题
问题说明:使用的是 gradle 导入项目,没想到发现编译之后测试的时候出错了,报的错误为file cannot be opened because it does not exist也就是文件找不到,到 build 目录一看,感情是 resources 目录下的配置文件都没用拷贝过来,只有一堆的 class package。解决办法:在 gradle 中多配置个 Task:...原创 2019-11-27 10:58:58 · 3256 阅读 · 0 评论 -
【解决方案】解决maven打包打不进lib下的第三方jar包问题
maven项目有时候找不到第三方jar包的依赖坐标,这时就需要在项目下建立一个文件夹,将第三方jar包放在此处,在maven打包时将文件夹下的jar包打包进去在pom.xml中添加如下插件,并指明jar包路径<plugin> <artifactId>maven-compiler-plugin</artifactId> <con...转载 2019-11-27 10:55:06 · 1727 阅读 · 0 评论 -
【解决方案】gradle使用本地jar包
在项目根目录(与src同级目录)创建libs文件夹,并将jar包拷贝进去。 在build.gradle文件中的dependencies中添加如下脚本: compile fileTree(dir: 'libs', include: [ '*.jar']) 运行gradle build即可将jar文件打到工程Jar包中。...原创 2019-11-27 10:48:06 · 1645 阅读 · 0 评论 -
【解决方案】配置文件中"&"符号报错,无法识别
问题描述:在配置文件中直接引入"&"符号,配置文件在检测时会有红色波浪线显示提醒其不符合语法解决方法:以"&"替换"&"符号其它符号转换扩展:小于号<大于号> &&单引号'双引号"...原创 2019-11-27 10:42:28 · 1388 阅读 · 1 评论 -
【数据同步】基于阿里DataX数据同步框架的二次开发
datasync基于阿里DataX数据同步框架的二次开发。本项目基于SpringBoot框架,采用Java语言开发,Gradle构建。【项目地址】Features本项目目前仅支持从sqlserver到mysql数据同步,但与其他数据库开发原理一致,可基于本项目进行其他数据库同步的开发。具体支持同步的数据库列表,可参考阿里Datax:https://github.com/alibaba...原创 2019-11-26 12:37:29 · 1151 阅读 · 0 评论 -
【解决方案】SpringBoot 日期格式化(使用注解搞定)
@JsonFormat(pattern="yyyyMMddHHmmss", timezone="GMT+8") @JSONField(format = "yyyyMMddHHmmss") @DateTimeFormat(pattern = "yyyyMMddHHmmss") private Date startTime;原创 2019-10-28 21:35:55 · 2934 阅读 · 0 评论 -
Spring-boot 启动时碰到的错误
错误提示Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package错误概述最近学习springboot的使用,写了一个小demo,结果总是碰到这样的错误:** WARNING ** : Your ApplicationContext is unlikely to start ...原创 2018-03-25 14:35:50 · 1187 阅读 · 4 评论 -
SpringBoot启动原理浅析
SpringBoot启动原理浅析 1、程序入口 @SpringBootApplicationpublic class Springboot02Application { public static void main(String[] args) { SpringApplication.run(Springboot02Application.class, args); ...原创 2018-06-28 15:52:25 · 1349 阅读 · 0 评论 -
【Cache核心】初识JCache
一、什么是JSR? jsr是Java Specification Requests的缩写,意思是Java 规范提案。是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。二、什么是JSR 107?2012年10月26日JSR规范委...原创 2019-09-21 15:52:45 · 1971 阅读 · 0 评论 -
【实用教程】SpringBoot实现AOP日志打印
package cn.nuc.zp.aop;import com.fasterxml.jackson.databind.ObjectMapper;import org.aspectj.lang.JoinPoint;import org.aspectj.lang.ProceedingJoinPoint;import org.aspectj.lang.annotation.*;impor...原创 2019-09-18 16:16:18 · 337 阅读 · 0 评论 -
【解决方案】Java对MongoDB的ObjectId的序列化问题
MongoDB在不特殊指认的情况下,默认的集合主键是“_id”,类型是ObjectId。ObjectId是一个12字节的BSON类型字符串,包含了UNIX时间戳,机器识别码,进程号,计数值信息。机器码用来防止分布式系统生成id时冲突的问题,保证每台机器生成的识别码不同,进程号保证多线程情况下生成的id不同。ObjectId在java程序中是对象类型,JavaBean中常这样使用:@Docu...转载 2019-09-18 12:39:34 · 1983 阅读 · 0 评论 -
【解决方案】SpringBoot MongoTemplate 去除 _class 字段
在使用SpringBoot中使用MongoTemplate时,数据库中数据会有_class字段。以下就是去除_class 字段的配置类,只需将代码复制即可直接使用。import org.springframework.beans.factory.BeanFactory;import org.springframework.beans.factory.NoSuchBeanDef...原创 2019-09-18 12:29:09 · 1263 阅读 · 0 评论 -
【Cache核心】Spring缓存实现原理
一、自动配置类:CacheAutoConfiguration二、添加缓存配置类SimpleCacheConfiguration【默认生效】/** * {@link ImportSelector} to add {@link CacheType} configuration classes. * org.springframework.boot.autoconfigu...原创 2019-09-21 17:38:16 · 654 阅读 · 0 评论 -
【Cache核心】Spring缓存抽象
一、Spring对缓存的支持 Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口来统一不同的缓存技术;并支持使用JCache(JSR-107)注解简化我们开发; Cache接口为缓存的组件规范定义,包含缓存的各种操作集合;...原创 2019-09-21 16:25:12 · 238 阅读 · 0 评论