role-permissions-mappings.yml
Содержимое:
role-mapping-permissions:
rolePermissions:
-
role : 'role1'
permissions:
-'role1'
-'perm1'
-'perm2'
-
role: 'role2'
permissions:
-'role2'
-'perm1'
-'perm2'
Класс конфигурации:
@Configuration
@ConfigurationProperties(prefix="role-mapping-permissions")
@EnableConfigurationProperties
@Slf4j
public class RolePermissionMapping {
private List<RoleDetails> rolePermissions = new ArrayList<>();
@PostConstruct
public void init(){
if(!rolePermissions.isEmpty()){
log.info("Role -Permission size {}",rolePermissions.size());
}else{
log.info("role-permission-mapping is not configured");
}
}
public List<RoleDetails> getRolePermissions() {
return rolePermissions;
}
public void setRolePermissions(List<RoleDetails> rolePermissions) {
this.rolePermissions = rolePermissions;
}
public static class RoleDetails {
private String role;
private List<String> permissions = new ArrayList<String>();
public RoleDetails(String role,List<String> permissions){
this.role= role;
this.permissions = permissions;
}
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
public List<String> getPermissions() {
return permissions;
}
public void setPermissions(List<String> permissions) {
this.permissions = permissions;
}
}
}
Ожидаемый результат должен быть: Код выше показывает результат сопоставление разрешений ролей не настроено вместо загрузки конфигурации и выполнения log.info("Role -Permission size {}",rolePermissions.size());
Необходимо использовать @Value
аннотация даже после добавления аннотации @PropertySource
. Есть ли способ использовать без аннотации @Value
?