Spring全家桶的深入学习(六):Spring的配置属性

背景

《Spring全家桶的深入学习(一):Spring起步》
《Spring全家桶的深入学习(二):基于SpringMVC开发web应用》
《Spring全家桶的深入学习(三):实现数据持久化》
《Spring全家桶的深入学习(四):使用Spring Data实现数据持久化》
《Spring全家桶的深入学习(五):使用Spring Security安全框架保护web应用》

  • 在前五篇文章中已经实现了一个简单的用户邮箱登记的web应用,并将数据保存到mysql数据库中,并利用安全框架对web页面进行保护及实现了管理员的注册登录。
  • 另外,由于使用了Spring Boot的自动配置,我们仅仅通过一个application.properties文件,就实现了数据库的访问配置与前端页面的基础设置。
  • 本章将了解Spring的配置属性及完成自定义的配置
Spring的环境抽象(Environment)

Spring的环境抽象是各种配置属性的一站式服务。它抽取了原始的属性,这样需要这些属性的bean就可以从Spring本身中获取了。Spring环境会拉取多个属性源,包括:

  • JVM系统属性;
  • 操作系统环境变量;
  • 命令行参数;
  • 应用属性配置文件。

在这里插入图片描述

通过应用属性配置文件完成Spring的环境配置
  • 我们回顾下原web应用中的application.properties文件:
###数据源配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=net.sf.log4jdbc.sql.jdbcapi.DriverSpy
spring.datasource.url=jdbc:log4jdbc:mysql://localhost:3306/user_info?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true


#thymelea模板配置
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
spring.thymeleaf.cache=false
spring.resources.chain.strategy.content.enabled=true
spring.resources.chain.strategy.content.paths=/**
  • Spring Boot引入了具有层次关系的yml格式的配置文件:
spring:
  port:8080

显然具有层次关系的配置文件更易于理解与书写,接下来我们将使用application.yml取代application.properties完成各种属性配置。

配置数据源
###数据源配置
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    username: root
    password: root
    driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
    url: jdbc:log4jdbc:mysql://localhost:3306/user_info?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true

配置模板引擎
#thymelea模板配置
  thymeleaf:
    prefix: classpath:/templates/
    suffix: .html
    mode: HTML5
    encoding: UTF-8
    content-type: text/html
    cache: false
配置日志
  • 默认情况下,Spring Boot通过Logback配置日志,日志会以INFO级别写入到控制台中,我们希望重新配置显示日志的格式;
  • 同时我们希望通过监控sql日志输出到控制台,并将输出的信息进行筛选打印;
  • 首先需引入log4jdbc依赖
		 <dependency>
            <groupId>org.bgee.log4jdbc-log4j2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智慧zhuhuix

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值