使用配置属性

一、细粒度的自动配置

Spring有两种不同的(但相关)的配置:

  • bean装配:声明在spring应用上下文中创建哪些组件以及它们之间如何互相注入的配置。
  • 属性配置:设置Spring应用上下文中bean的值的配置

Spring环境拉取的属性源来源:

  • JVM系统属性
  • 操作系统环境变量
  • 命令行参数
  • 应用属性配置文件 :application.properties or application.yml

spring环境会将这些属性聚合到一个源中,通过这个源可以注入到Spring的bean中

1.1 配置数据源

SpringBoot会根据JDBC 数据库URL自动计算数据源驱动类类型,但是我们可以手动配置驱动类类型。

javaspring.datasource.driver-class-name

1.2 数据库初始化脚本

有些时候我们需要对数据库的数据进行初始化,我们可以通过

spring.datasource.schema:
- xxx.sql
- xxx.sql
-data:
- xxx.sql

1.3 配置日志

修改日志级别、指定日志写入到那个文件中、针对springsecurity的日志级别

logging.file:..
logging.level.root:WARN
logging.org:springframework.security:DEBUG

日志文件一旦达到10MB,就会轮换

1.4 自定义属性值

我们可以在application.properties文件中进行自定义属性值的配置。我们也可以通过${}来对其他配置属性值的引用。

二、使用自己的配置属性

使用springboot提供的
@ConfigurationProperties注解进行属性注入。

@ConfigurationProperties(prefix="...") //prefix的值为自定义配置属性的前缀
public x{
	private String configName; // 具体配置属性名,springboot在自动配置过程中,会从spring环境中的属性源中获取并注入到该成员变量中。
}

@ConfigurationProperties通常会被放到一种特定类型的bean中,这种bean的目的就是持有配置数据。
这样的话,特定的配置细节就能从控制器和其他应用程序类中抽离出来多个bean也能更容易的共享一些通用的配置。
eg:

@Component // 定义是一个Springbean
@Data
@ConfigurationProperties(prefix="xxx")
public class OrderPropes{
	private int pageSize = 20;
}

其他类若想使用里面的配置属性,通过构造器注入或者@Autowire、@RequireConstruction注入都可以。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值