相关配置

日志配置

l  Spring Boot默认使用LogBack日志系统,不需要任何配置默认开启日志记录,INFO级别输出到控制台。spring-boot-starter中包含了spring-boot-starter-logging。

l  设置日志级别,共有TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为INFO,则TRACE和DEBUG日志都看不到。在applicaition.properties中添加logging.level.*属性:

案例:

logging.level.root=warn                     这里是用的root级别,即项目的所有日志

logging.level.com.boot4.mapper=DEBUG            包级别的日志


说明:

%d{HH:mm:ss.SSS}                  日志输出时间

%thread                             输出日志的进程名字,在Web应用以及异步任务处理中很有用

%-5level                    日志级别,并且使用5个字符靠左对齐

%logger-                   日志输出者的名字

%msg                        日志消息

%n                              平台的换行符

l  保存日志到文件的设置,在application.properties文件中添加logging.file.*属性

logging.file.path=/Users/jackie/workspace/rome/             配置日志文件的路径

logging.file.name=springbootdemo.log                         配置日志文件名,默认为spring.log

注:二者不能同时使用

l  日志配置的详细说明

logging.config                    # 日志配置文件路径,如 classpath:logback-spring.xml

logging.file                      # 记录日志的文件名称,如:test.log

logging.level.*      # 日志映射,如:logging.level.root=WARN,logging.level.com.b2.mapper=DEBUG

logging.path                      # 记录日志的文件路径,如:d:/

logging.pattern.console           # 向控制台输出的日志格式,只支持默认的logback设置。

logging.pattern.file              # 向记录日志文件输出的日志格式,只支持默认的logback设置。

logging.pattern.level             # 用于呈现日志级别的格式,只支持默认的logback设置。

logging.register-shutdown-hook    # 初始化时为日志系统注册一个关闭钩子

数据源配置

l  加入数据源依赖,加入jdbc启动器和数据库驱动包依赖即可

spring-boot-starter-jdbc、mysql-connector-java

l  当添加了数据库驱动并配置了jdbc启动器后,Spring Boot会自动完成以下内容:

自动装配DataSource对象自动创建JdbcTemplate对象自动提交事务

l  spring boot2.x中默认用HikariDataSource数据源(HikariCP.jar中)。jdbc会自动导入hikari依赖。

l  在配置文件中配置spring.datasource.*相关属性,框架自动将属性应用到DataSource上。

可以直接将JdbcTemplate注入到Dao中使用即可。

spring.datasource.*是数据源的通用属性,针对不同数据源的特殊属性写法是:

l  如果想指定其他数据源实现类,可以使用spring.datasource.type属性指定,但实现类仅限于Tomcat、Hikari、dbcp2数据源。且需要手动导入依赖

l  若想使用其它数据源实现类。首先需要导入数据源pom依赖,以druid数据源为例

在配置文件中手动编写特有数据源属性

编写方法返回数据源bean,同时注入属性

l  如果想禁用数据源的自动配置,可以利用@EnableAutoConfiguration注解的exclude属性实现

静态资源

l  Spring Boot自动注册了ResourceHandler,从classpath下的/static(对应/resources/static)和/public目录寻找文件。未找到则交由容器默认的servlet(default)从ServletContext根目录加载。

l  和服务器相关的属性

server.servlet.context-path            设定应用的根路径,默认为:/

server.servlet.path                            设定前端控制器的映射路径,默认为: /   (没有)

已经变为:spring.mvc.servlet.path

热部署

l  加入spring-boot-devtools实现spring boot项目的热部署,源码更改后会自动重新启动

支持jsp

l  spring boot默认不支持jsp页面,需要加入jsp的启动依赖。tomcat-embed-jasper

属性配置

设置属性

l  属性配置有多种方式,按优先级如下:

1.命令行参数

2.Java系统属性(System.getProperties())

3.操作系统环境变量

4.application.properties或application.yml配置文件

5.通过SpringApplication.setDefaultProperties指定的默认属性

l  命令行参数 :格式 --xxx=xxx形式。例:java -jar app.war --server.port=9090

l  Java系统属性。例:java -Dserver.port=9001 -jar app.war --server.port=9002 (优先级,端口是9002)

配置文件(.properties或.yml)。spring会自动从classpath下的/config目录或classpath根目录查找application.properties或application.yml文件。/config目录优先于classpath根目录。例:name=张三

l  SpringApplication.setDefaultProperties设置属性,改写主启动类的main方法

l  yml文件的语法规则:

大小写敏感。

键值对用":"分隔,且”:”后面要跟一个空格

使用缩进表示层级结构,不允许使用Tab键,只允许使用空格。

缩进的空格数目不重要,只要相同层级的元素左对齐即可。

#表示单行注释。

~表示null

n  案例:

n  列表的表示方式,列表项使用"- "表示。注:-后面有一个空格

n  对象的表示方式。例:

读取和使用属性

l  方式一:使用@Value(“${xxx}”)注解将属性注入

l  方式二:读多属性时,使用@ConfigurationProperties注解将属性注入到一个配置对象中。

                    

l  方式三:在配置文件中可以使用${xxx}引用前面配置过的属性。

app.name=’MyApp’

app.description=’${app.name} is a Spring Boot application’

另:${app.name:默认值}可以设置默认值。

整合MyBatis

l  加入mybatis-spring-boot-starter启动器,推荐使用2.1.3版本

l  加入mysql驱动pom依赖

l  在配置文件中配置数据源和mybatis相关设置

mybatis.mapper-locations=classpath:com/xxx/data/*Mapper.xml

mybatis.type-aliases-package= com.xxx.demo.vo

l  在主配置类上使用@MapperScan注解扫描Mapper接口所在的包。

l  编写Mapper接口和映射文件。

l  编写handler处理器测试。

l  可以配置日志显示sql语句