java - 在 java/spring 中使用以下格式从属性文件中读取并提取对象

标签 java spring properties

我的实体类

    public class User {

        String name;
        String userName;
        String password;
        String[] roles;

        static class ROLES {
            static String ADMIN="ADMINISTRATOR";
            static String USER="USER";
        }

        public User(){

        }

        public User(String name, String userName, String password, String... roles) {
            this.name = name;
            this.userName = userName;
            this.password = password;
            this.roles = roles;
        }
    }

属性文件的格式

user[0].name=Sujal Mandal
user[0].userName=sujal12
user[0].password=sujal123
user[0].roles=ADMIN,USER,SUPER_USER
user[1].name=Busra Ercelik
user[1].userName=busra12
user[1].password=busra123
user[1].roles=USER

我想编写一个 util 类,它将读取属性文件并返回用户的对象

在 Java/Spring boot 环境中执行此操作的最佳方法是什么?

最佳答案

最简单的解决方案如下所示,您需要使用@ConfigurationProperties:

@Component
@ConfigurationProperties("myproject")
public class UsersPopulator {

 private List<User> users;//all users will be populated from application.properties

//add getter method

}

您的 application.properties 文件如下所示:

myproject.users[0].name=Sujal Mandal
myproject.users[0].userName=sujal12
myproject.users[0].password=sujal123
myproject.users[0].roles=ADMIN,USER,SUPER USER
myproject.users[1].name=Busra Ercelik
myproject.users[1].userName=busra12
myproject.users[1].password=busra123
myproject.users[1].roles=USER

您需要确保将@EnableConfigurationProperties 添加到启动器类文件中。

关于java - 在 java/spring 中使用以下格式从属性文件中读取并提取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43169486/

相关文章:

java - 如何更改 Dropwizard 的验证错误行为?

java - 使用 Spring Security 进行 JUnit 测试

java - 使类的实例在 Spring 对所有类可用?

c# - 下面的语句解释了什么

c# - 匿名方法应该按条件返回一个字符串

java - 为什么变量更改不会持久化方法调用?

java - jvisualvm:软件导致连接中止:套接字写入错误

java - 如何在 Spring Boot 中获取 LDAP 用户名

java - Controller 类级别的 Pathvariable 在 Spring Restful 上不起作用

c# - 如何使用 if 语句创建属性