配置日志文件的写法如下:
# 配置日志输出级别
logging:
# 指定logback配置文件的位置
config: classpath:logback-spring.xml
# 文件日志要输出的路径
path: E:/logs/springboot_server
# 日志的输出级别
level:
root: info
获取属性值的话可以通过@value 注解来实现,如下:
@Value("${logging.path}")
private String path; // 获取日志文件的输出路径
# 拦截器路径拦截或者不拦截配置
interceptorconfig:
path:
#该路径下任何类型请求均拦截
include:
- /api/v1/token/api_token
- /api/v1/yibaotong/save
或者写成
# 拦截器路径拦截或者不拦截配置
interceptorconfig:
path:
#该路径下任何类型请求均拦截
include: [/api/v1/token/api_token,/api/v1/yibaotong/save]
定义list集合不能用@value注解来获取list集合的所有值,需要定义一个配置类bean,然后使用 @ConfigurationProperties注解来获取list集合值,如果使用@value注解会报错
@Data
@Component
@ConfigurationProperties(prefix = "interceptorconfig.path") // 配置文件的前缀
public class InterceptorPathBean
{
/*
* 需要拦截的路径
*/
private List include;
}
import lombok.Data;
/**
* Shiro权限配置映射类
**/
@Data
public class ShiroPermissionProperties {
/**
* 路径
*/
private String url;
/**
* 路径数组
*/
private String[] urls;
/**
* 权限
*/
private String permission;
}
然后yml配置文件的写法如下:
spring-boot-plus:
shiro:
# 权限配置
permission:
- urls: /login,/phoneLogin,/logout,/refreshToken,/sendSms
permission: anon
- urls: /docs,/doc.html
permission: anon
定义配置bean使用@ConfigurationProperties注解获取对象集合值:
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.NestedConfigurationProperty;
import java.util.List;
/**
* Shiro配置映射类
**/
@Data
@ConfigurationProperties(prefix = "spring-boot-plus.shiro")
public class ShiroProperties {
/**
* 权限配置集合
*/
@NestedConfigurationProperty
private List<ShiroPermissionProperties> permission;
}
interceptorconfig:
path:
includes: /api/v1,/api/v2 #注意要用逗号分隔开
可以通过@value注解获取数组值,如下:
@Value("${interceptorconfig.path.includes}")
private String[] includes;
也可以通过创建配置类bean,使用@ConfigurationProperties注解获取,如下:
@Data
@Component
@ConfigurationProperties(prefix = "interceptorconfig.path") // 配置 文件的前缀
public class InterceptorPathBean
{
private String[] includes;
}
interceptorconfig:
path:
maps: {name: 小明,age: 24}
或者写成:
interceptorconfig:
path:
maps:
name: 小明
age: 24
通过创建配置类bean,使用@ConfigurationProperties注解获取map值,如下:
@Data
@Component
@ConfigurationProperties(prefix = "interceptorconfig.path") // 配置 文件的前缀
public class InterceptorPathBean
{
private Map<String , String> maps;
}