方法上没加 @Transactional(readOnly=false, rollbackFor = BusinessException.class)导致的错误
Connection is read-only. Queries leading to data modification are not allowed
这个应该是我们的项目在事务上做了某种设置导致的错误。出现此错误加上上述事务注解即可
2)前台用表单的动作是上传图片,但是此时需要做异步文件上传
使用如下方式来做
var fd = new FormData(document.querySelector("form"));
console.log(fd);
debugger
$formTable.async({
url: system.contextPath+"/system/organ/save.do",
type: "POST",
data: fd,
cache: false,
contentType: false,
processData: false,
success: function (data) {
if (data.status == 200) {
$.messager.notifySuccess("操作成功", data.results || data.message)
window.location = system.contextPath + '/system/organ'
} else {
$.messager.notifyError("操作失败", data.results || data.message)
}
},
complete: function (event, xhr, options) {
$formTable.bootstrapValidator('disableSubmitButtons', false);
}
});
注意 contentType: false,
processData: false,
这两个参数是必须需要的。否则会出现错误Uncaught TypeError Illegal invocation
3)java8操作Stream时,使用filter时,多条件的情况
stream().filter(SystemOrganDto->SystemOrganDto.getDomainUrl()!=null&&SystemOrganDto.getDomainUrl().contains(tempContextUrl))
可以使用&&或者||等条件运算符来做联合判断
4)Thymeleaf的条件判断
<img alt="" th:if="${systemOrgan.banner3} != null" th:src="${systemOrgan.banner3}">
<img alt="" th:unless="${systemOrgan.banner3} != null" th:src="|${_IMG}/login/a3.jpg|">
使用th:if和th:unless作为条件判断的
18. 将一段配置代码放在SpringBoot项目启动后执行的代码,一般写在config类中使用 @EventListener(ApplicationReadyEvent.class)来实现
@Configuration
@Slf4j
public class TaskConfig {
@EventListener(ApplicationReadyEvent.class)
public void scheduleAfterStartup() {
}
}