3.spring boot自定义配置

1.示例-添加并配置seucrity
1.1添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
1.2覆盖配置
A.扩展WebSecurityConfigurerAdapter的配置类

B.定义JPA实体类

1.3自动配置原理
使用Spring 4.0的条件化配置,可以在运行时判断这个配置是该被运
用,还是该被忽略。
示例:
@Bean
@ConditionalOnMissingBean(JdbcOperations.class)
public JdbcTemplate jdbcTemplate() {
return new JdbcTemplate(this.dataSource);
}
A.@Bean注解,在需要时可以配置出一个JdbcTemplateBean;
B.@ConditionalOnMissingBean注解,当前不存在JdbcOperations类型的Bean时才生效。
2.属性文件外置配置
Spring Boot自动配置的Bean提供了300多个用于微调的属性。当你调整设置时,只要在环境变量、 Java系统属性、 JNDI(Java Naming and Directory Interface)、命令行参数或者属性文件里进行指定。
2.1配置途径
设置途径按照优级先从高到低排序(高优先级属性源的属性会覆盖低优先级的相同属性):
(1) 命令行参数;
(2) java:comp/env里的JNDI属性;
(3) JVM系统属性;
(4) 操作系统环境变量;
(5) 随机生成的带random.*前缀的属性(可以引用它们,比如${random.long});
(6) 应用程序以外的application.properties或者appliaction.yml文件;
(7) 应用程序内的application.properties或者appliaction.yml文件(yml优先级高于properties);
(8) 通过@PropertySource标注的属性源;
(9) 默认属性。
application.properties和application.yml文件能放在以下四个位置,按照优先级排序:
(1) 外置,在相对于应用程序运行目录的/config子目录里;
(2) 外置,在应用程序运行的目录里;
(3) 内置,在config包内;
(4) 内置,在Classpath根目录。
2.2配置示例
A.禁用模板缓存
Thymeleaf模板默认缓存,将spring.thymeleaf.cache设置为false就能禁用Thymeleaf模板缓存。
命令行:$ java -jar readinglist-0.0.1-SNAPSHOT.jar --spring.thymeleaf.cache=false;
application.yml:spring: thymeleaf: cache: false;
application.properties:spring.thymeleaf.cache=false;
环境变量:$ export spring_thymeleaf_cache=false。
B.配置嵌入式服务器
应用程序会启动一个嵌入式的服务器(默认是Tomcat),监听8080端口。
配置端口:server.port=8000;
配置https:
1).用JDK的keytool工具来创建一个密钥存储(keystore):
$ keytool -keystore mykeys.jks -genkey -alias tomcat -keyalg RSA
2).配置application.yml:

C.配置日志
默认情况下, Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台。
要完全掌握日志配置,可以在Classpath的根目录里创建logback.xml文件。
日志配置文件名称(默认logback.xml):logging.config
修改日志级别:logging.level=DEBUG

D. 配置数据源
简单地通过属性配置数据库的URL和身份信息就可,例如mysql数据库:

设置spring.datasource.jndi-name属性,从JNDI里查找DataSource,设置了spring.datasource.jndi-name属性,其他数据源连接属性都会被忽略,
2.3注入配置

2.4Profile进行配置
Spring Framework从Spring 3.1开始支持基于Profile的配置。 Profile是一种条件化配置,基于运行时激活的Profile,会使用或者忽略不同的Bean或配置类。
设置spring.profiles.active属性就能激活Profile;
A.使用application.properties
创建额外的属性文件,遵循application-{profile}.properties这种命名格式,这样就能提供特定于Profile的属性。
示例:
通用配置:application.properties
开发环境:application-development.properties
生产环境:application-production.properties
B.使用application.yml
1).可以遵循与配置文件相同的命名规范,创建application-{profile}.yml这样的YAML文件,并将与Profile无关的属性继续放在application.yml里。
2).在同一个文件配置,用---分隔符

2.4自定义错误页面
Spring Boot自动配置的默认错误处理器会查找名为error的视图,如果找不到就用默认的白标
错误视图。
自定义错误视图,归根到底取决于错误视图解析时的视图解析器:
◆实现了Spring的View接口的Bean,其 ID为error(BeanNameViewResolver所解析)。
◆如果配置了Thymeleaf,则有名为error.html的Thymeleaf模板。
◆如果配置了FreeMarker,则有名为error.ftl的FreeMarker模板。
◆如果配置了Velocity,则有名为error.vm的Velocity模板。
◆如果是用JSP视图,则有名为error.jsp的JSP模板。
Spring Boot会为错误视图提供如下错误属性:
◆timestamp:错误发生的时间。
◆status: HTTP状态码。
◆error:错误原因。
◆exception:异常的类名。
◆message:异常消息(如果这个错误是由异常引起的)。
◆errors: BindingResult异常里的各种错误(如果这个错误是由异常引起的)。
◆trace:异常跟踪信息(如果这个错误是由异常引起的)。
◆path:错误发生时请求的URL路径。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值