黑马程序员技术交流社区

标题: 【上海校区】Spring Boot (十三): Spring Boot 小技巧 [打印本页]

作者: 梦缠绕的时候    时间: 2019-7-30 11:30
标题: 【上海校区】Spring Boot (十三): Spring Boot 小技巧
初始化数据
我们在做测试的时候经常需要初始化导入一些数据,如何来处理呢?会有两种选择,一种是使用 Jpa,另外一种是 Spring JDBC 。两种方式各有区别下面来详细介绍。
使用 Jpa
在使用 spring boot jpa的情况下设置 spring.jpa.hibernate.ddl-auto的属性设置为 create or create-drop的时候,Spring Boot 启动时默认会扫描 classpath 下面(项目中一般是 resources 目录)是否有 import.sql,如果有机会执行 import.sql脚本。
使用 Spring JDBC
使用 Spring JDBC 需要在配置文件中添加以下配置
Spring Boot 项目启动的时候会自动执行脚本。
ddl-auto 四个值的解释
不同点
第一种方式启动的时候 Jpa 会自动创建表,import.sql 只负责创建表单后的初始化数据。第二种方式启动的时候不会创建表,需要在初始化脚本中判断表是否存在,再初始化脚本的步骤。
在生产中,这两种模式都建议慎用!
Thymeleaf 设置不校验 html 标签
默认配置下,Thymeleaf 对 .html 的内容要求很严格,比如 <metacharset="UTF-8"/>,如果少封闭符号 /,就会报错而转到错误页。也比如你在使用 Vue.js 这样的库,然后有 <divv-cloak></div>这样的 html 代码,也会被 Thymeleaf 认为不符合要求而抛出错误。
通过设置 Thymeleaf 模板可以解决这个问题,下面是具体的配置:
LEGACYHTML5 需要搭配一个额外的库 NekoHTML 才可用,项目中使用的构建工具是 Maven 添加如下的依赖即可完成:
自定义 Favicon
Spring Boot 提供了一个默认的 Favicon,也就是 Spring 的 logo ,我们可以根据自己企业的需要来定制它。
首先需要在 application.propertie 中关闭原有的logo
在将自己的 favicon.ico 放到 src/main/resources/static下 ,然后再重新启动项目就可以了。
文章内容已经升级到 Spring Boot 2.x
示例代码-https://github.com/ityouknow/spring-boot-examples


作者: 梦缠绕的时候    时间: 2019-7-30 11:30
有任何问题欢迎在评论区留言
作者: 梦缠绕的时候    时间: 2019-7-30 11:30
或者添加学姐微信
DKA-2018




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2