关于@ConfigurationProperties

    xiaoxiao2023-11-26  141

    springboot使用@ConfigurationProperties注解,可以对配置文件中的配置绑定到一个类中

    比如,我们在配置文件application.yml中写入下列代码

    person: name: linyongbin age: 21 single: false

    然后,创建一个类Person,我只是随便取个名字,你想把这个类叫什么都没关系

    @Component @ConfigurationProperties(prefix = "person") public class Person { private String name; private Integer age; private Boolean single; @Override public String toString() { return "Person{" + "name='" + name + '\'' + ", age=" + age + ", single=" + single + '}'; } #此处省略get和set方法 } 可以注意到我们使用了@ConfigurationProperties注解,并且还有(prefix = "person"),其中prefix 指定了配置文件中的person

    就可以将配置文件中的person配置绑定到Person类中,然后使用@Component将类作为spring里面的一个组件,那么它就可以使用相应的功能了

    我们编写测试类进行person的输出

    @RunWith(SpringRunner.class) @SpringBootTest public class DemoApplicationTests { @Autowired Person person; @Test public void contextLoads() { System.out.println(person.toString()); } }

    可以看到输出了Person{name='linyongbin', age=21, single=false}

    但是我不知道是否能够通过Person类来对配置文件中的值进行改变,我使用person.setage(22)测试了,没有改变,如果你们知道如何改变,可以评论告诉我,谢谢

    最新回复(0)