Spring Boot 切面的一种的测试方法

2021-12-01
阅读 3 分钟
7.2k
习惯了单元测试以后,一些代码在提交前如果不测试一下总是感觉心里面空空的,没有底气可言。Spring Boot提供的官方注释结合强大的Mockito能够解决大部分在测试方面的需求。但貌似对于代理模式下的切面却并不如意。情景模拟假设我们当前有一个StudentControllor,该控制器中存一个getNameById方法。 {代码...} 在没有切面...

获取EntityManager避免IllegalStateException: EnityManager is closed

2019-12-23
阅读 2 分钟
5.9k
在使用springboot进行一些非封装的JPA操作时,我们可能需要EntityManager的支持。比如笔者近期启用了hibernate envers来记录某个数据表的数据变更情况,在进行数据查询时参阅了官方文档的以下代码:

在IDEA中对Spring Boot项目进行远程debug调试

2019-09-25
阅读 1 分钟
2.9k
有些项目由于环境不一致的问题,在线上与本地开发时表现的不一致,这时候我们远程调试来帮助我们找到问题。步骤如下: 配置项目 配置的最后,复制IDEA为我们自动生成的命令信息。 服务器启动项目 使用root权限 {代码...} 请将上述-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=443替换为IDEA自动生成...

在spring boot中一种综合查询的新想法

2019-09-10
阅读 3 分钟
1.3k
在实际的开发中,会遇到这样的问题:我们在综合查询中,接收到了很多个参数,比如:pageAllOfCurrentUserBySpecification(Long districtId, Long departmentId, String name, String code, Pageable pageable),此方法一般的,会被其它多个方法来调用来实现多种查询功能。但如果此方法一旦发生参数变更,那么其它调用它...

spring boot 2.0.x -> 2.1.x 如何设置mysql5.6引擎为innodb

2019-09-10
阅读 4 分钟
3.1k
当我们配置spring.jap.hibernate.ddl-auto: create或是update等属性后,hibernate为我们自己动生成了数据表。但系统启动时在控制台中有报错,报错内容指明hibernate在给字段添加外键时产生了错误。经排查,错误产生的原因在于hibernate为我们自己动生成的表的引擎为MyISAM,而MyISAM并不支持外键。其实我们想要的引擎是I...

springboot 2.1.7 + mysql5.6 弃用 Calendar类型字段

2019-08-18
阅读 3 分钟
2.4k
原因:在使用Calendar做为字段类型时,每进行一次findById()操作返回的数据的值都比实际值要大一点。更新后再调用查询,还会再大一点。也就是说:如果我们用Calendar做为字段类型,那么该字段会在程序运行时会静悄悄的增大。

There is no PasswordEncoder mapped for the id "null"

2019-08-17
阅读 5 分钟
3.9k
spring-boot 1.5.3 升级到 2.1.7 出现上述错误,查看MAVEN引用信息,引用的spring security版本为5.1.16,其官方文档地址为:[链接]

spring-boot下如何满足多生产环境中个性化定制功能

2019-03-27
阅读 6 分钟
1.6k
在项目的开发中,我们很难做到开发一套标准的流程来解决所有客户的需求。比如,我们当前的计量项目,分别运行于赤峰市和河北省。虽然两个区域处理的业务相同,但是对细节的实现要求却不同。前面也学习过计量检定软件,其为了解决各个定制者使用的功能需求,最后采取的方案是:将基础项目复制多份,进而满足不同的客户需...

spring-boot下使用LogBack,使用HTTP协议将日志推送到日志服务器(二)

2019-03-25
阅读 5 分钟
4.6k
上文中,我们实现了将LogBack的日志信息实时的推送到日志服务器的功能。但实时进行推送,必然会增加日志服务器的压力。本文将阐述另一种定时推送的方法,以减轻日志服务器的压力。

spring-boot下使用LogBack,使用HTTP协议将日志推送到日志服务器

2019-01-16
阅读 15 分钟
12k
当项目上线发生错误或是异常后,我们总是期望能够在第一时间内收到用户的详细反馈。当然,这也无疑会是一个非常好的提升软件质量的方法。但如果用户不愿意反馈呢?此时,我们便可以借助日志系统,比如:每隔一小时,服务器自动向我们报告一下当前的服务情况。当有错误或是警告或是异常信息时,及时向我们的报告等。

解读:spring-boot logging。记一次Logback在spring-boot中的使用方法

2019-01-15
阅读 3 分钟
10.3k
有个任务停留在任务列表中很久了:使用Appenders 完成 loger4j 的日志推送,始终没有成功实现。追其原因,仍然是官方的文档没有认真看。在spring-boot的项目中看到log4j,就想当然的认为Spring-boot使用的是log4j,然后不假思索的去google。最终导致的就是:功能没有实现,而且还浪费了很多不必要的时间,最后:还是老老...

SLF4J: Class path contains multiple SLF4J bindings.

2018-12-06
阅读 3 分钟
29.9k
原因:一个接口,被两个实现类实现了。然后,程序在启动获取时,只想获取一个。这个接口是:org.apache.logging.slf4j.Log4jLoggerFactory两个实现类分别是:ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11.jar!/org/slf4j/impl/StaticLoggerBinder与org/apache/logging/log4j/log4j-slf4j-impl/2.7/log...

spring boot实现软删除

2018-07-03
阅读 7 分钟
5.3k
软删除:即不进行真正的删除操作。由于我们实体间的约束性(外键)的存在,删除某些数据后,将导致其它的数据不完整。比如,计算机1801班的教师是张三,此时,我们如果把张三删除掉,那么在查询计算机1801班时,由于张三不存了,所以就会报EntityNotFound的错误。当然了,在有外键约束的数据库中,如果张三是1801班的教...

spring-boot 使用@ForeignKey,创建无外键的@ManyToOne

2018-06-20
阅读 1 分钟
7.5k
有时候,我们会了提升数据库的查询速度(其实如果系统不大,感觉完全不用考虑),或是我们不想处理关联删除报错的问题。需要在进行数据表生成时,加入@ManyToOne,但却不想生成外键,可以使用如下方法解决:

spring-boot 使用自带的管理界面查看H2数据库内容

2018-06-20
阅读 3 分钟
10.2k
我们在开发时,更愿意使用速度更快,体积更小的H2数据库,但有时候,我们仍然想知道数据库中到底发生了什么。本文将阐述如何在开发时,使用spring-boot内置的数据库查看工具,来实现数据库的查看。

spring-boot 遗留表的字段命名不符合hibernate规范怎么办

2018-06-20
阅读 2 分钟
1.9k
注意: 如果是使用的测试数据库H2,则重写命名方法后,也不会生效。这可能是由于spring-boot认为如果是启用的默认H2数据库,则无需关注表名或是列表吧。