如题,记录下我的项目中用到的logback-spring.xml的配置设置,基本上对于普通的项目都是够用的,我已经使用在大部分的项目中。 配置分两种情况 开发环境会比较简单,只输出到console调试即可,如下: <?xml version="1.0" encoding="UTF-8"?> <!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 -->…

2022-11-14 0条评论 82点热度 0人点赞 admin 阅读全文

有一个JavaWeb-SpringMVC的项目(还用到了SpringSecurity),也需要接入Knife4j文档,按照官方的示例(最后的更新日期还是几年前的),并没有成功,结合自己摸索和实践,成功集成好了,故写出来详细的步骤,供参考。 pom.xml增加如下依赖(我这里的情况是需要加载jackson的相关的3个依赖包,看实际情况): <!-- knife4j-spring-mvc --> <dependency> <groupId>com.github.xiaoymin<…

2022-11-03 0条评论 90点热度 0人点赞 admin 阅读全文

IDEA下需要对一个普通的SpringWeb项目(使用的是Maven构建)的编译出来的class文件进行混淆,准备使用proguard来进行。 我找到了一个使用proguard的maven编译插件,项目地址是:https://github.com/wvengen/proguard-maven-plugin 首先修改pom.xml,在project下,使用如下内容(配置文件有注释,可根据自己实际情况做调整): <build> <plugins> <!-- ProGuard混淆插件--&g…

2022-11-02 0条评论 75点热度 0人点赞 admin 阅读全文

一、Spring Native 是什么? Spring Native 可以通过 GraalVM 将 Spring 应用程序编译成原生镜像,提供了一种新的方式来部署 Spring 应用。Spring Native 支持 Java 和 Kotlin。 这个项目的目标是寻找 Spring JVM 的替代方案,提供一个能将应用程序打包,并运行在轻量级容器的方案。期望能够在 Spring Native 中支持所有的 Spring 应用程序(几乎不用修改代码)。 二、GraalVM是什么? GraalVM 是 Oracle 发…

2022-10-06 0条评论 125点热度 0人点赞 admin 阅读全文

在开发中有时候经常需要一些Http请求,请求数据,下载内容,也有一些简单的分布式应用直接使用Http请求作为跨应用的交互协议。 在Java中有不同的Http请求方式,主要就是HttpURLConnection或者ApacheHttpClient,另外还有比较注明的OKHttp,或者国内常用的Hutool; Spring也内置了RestTemplate作为Http请求的工具类,简化了很多操作,虽然Spring5推出了WebClient,但是整体感觉还是RestTemplate用起来更简单方便一些。 这里记录分享下Re…

2022-10-02 0条评论 124点热度 0人点赞 admin 阅读全文

在使用Spring/SpringBoot做文件服务(对外提供文件流下载等)的时候,如果是音频视频,最好是提供断点续传功能,这样能可以支持客户端软件的断点续传功能,或者更好的音视频播放的播放、拖动等功能。 实现方法1 新版本的Spring或者SpringBoot是直接支持的,示例如下: // 也可以是video/* 或者下载文件application/octet-stream @GetMapping(value = "/audio/some.mp3", produces = "audio/*") public Res…

2022-08-25 0条评论 255点热度 0人点赞 admin 阅读全文

在用SpringSecurity做登录权限控制的时候,例如后台做代用户登录功能的时候,需要以指定某个用户登录账号。这里是以session作为登录状态管控的。 // 根据自己的业务获得登录用户的账号 Account account = systemDao.getAccountByNo(loginNo); // 组装出token UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken( account, nu…

2022-08-22 0条评论 118点热度 0人点赞 admin 阅读全文

Spring中的Service方法如果声明了事务,例如@Transactional(propagation = Propagation.REQUIRED),那么调用的时候,Spring会自动管理事务,遇到Exception,会rollback回滚,但是可能会遇到这种情况:同一个Service类中的方法,要调用本类中的其他方法(尽管这个方法也声明了事务),会发现调用的那个方法没有开启事务。 Spring开启事务,需要两个条件 首先需要方法声明是public的 声明事务,可以是在Service上加@Transactio…

2022-05-05 0条评论 313点热度 0人点赞 admin 阅读全文

前面的文章介绍了Spring/SpringBoot下Hibernate开启字段驼峰命名转数据库字段下划线的方式,详见:https://blog.terrynow.com/2022/04/22/spring-springboot-hibernate-auto-convert-pojo-camel-to-underline-strategy/ 如果项目是使用的 SpringMVC+Hibernate,也需要让实体类的驼峰命令转数据库字段的下划线,要怎么做呢,同样本人也是测试了网上说的hibernate.physical…

2022-05-02 0条评论 345点热度 0人点赞 admin 阅读全文

之前Hibernate中的实体类,对应数据库的字段,例如实体类中驼峰命令是:createDate,对应到数据库是带下划线的:create_date字段,一般来说是需要加@Column特别指定对应数据库表的字段的,例如: @Column(name = "create_date") public Date getCreateDate() { return createDate; } public void setCreateDate(Date createDate) { this.createDate = create…

2022-04-22 0条评论 550点热度 0人点赞 admin 阅读全文