(1)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
这个依赖引入后,可以加载传统的properties文件或xml文件
然后在需要用到配置的配置类文件头加上@PropertySource(value = {"classpath:static/config/***.properties"} 即可
如果配置文件比较多的话,也可以使用 @ConfigurationProperties(prefix = "***")
使用 @EnableConfigurationProperties 开启 @ConfigurationProperties 注解。
新版本的springboot已经包含此依赖,可以直接使用上述的注解
(2)下面两个注解
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(fill = FieldFill.INSERT)
private Date createTime;
第一个注解用来设置从数据库和前台发来的事件格式为指定的格式
第二个注解表示,当插入的时候发生变化,数据库设置的默认值会生效,比如这里我的时间数据库类型是timestamp类型
默认值是CURRENT_TIMESTAMP,当插入数据时,这个字段会使用默认值,重新设置时间
第二个注解还有 ,mybatis-plus该注解解释地址:https://mp.baomidou.com/guide/annotation.html#tablefield
(3)配置DataSource的几种方法
第一种用于解密加密密码后的配置,用于单数据源
@Bean
public DataSource dataSource(DataSourceProperties dataSourceProperties) throws Exception {
String username = dataSourceProperties.getUsername();
String password = dataSourceProperties.getPassword();
dataSourceProperties.setUsername(SymmetricEncoder.decrypt(username));
dataSourceProperties.setPassword(SymmetricEncoder.decrypt(password));
return dataSourceProperties.initializeDataSourceBuilder().type(HikariDataSource.class).build();
}
第二种与第一种类似,但是是多数据源进行解密操作
@Value("${spring.datasource.primary.username}")
String username;
@Value("${spring.datasource.primary.password}")
String password;
@Value("${spring.datasource.primary.jdbc-url}")
String url;
@Value("${spring.datasource.primary.driver-class-name}")
String driverName;
@Primary
@Bean(name = "primaryDataSource")
// @ConfigurationProperties(prefix = "spring.datasource.primary")
public DataSource primaryDataSource() throws Exception {
HikariDataSource dataSource = new HikariDataSource();
dataSource.setDriverClassName(driverName);
dataSource.setJdbcUrl(url);
dataSource.setUsername(SymmetricEncoder.decrypt(username));
dataSource.setPassword(SymmetricEncoder.decrypt(password));
return dataSource;
}
第三种就是最普通是使用方法,可以是多数据源,也可以是单数据源,用于密码不解密
@Primary
@Bean(name = "primaryDataSource")
@ConfigurationProperties(prefix = "spring.datasource.primary")
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}