读取yaml引用类型属性数据

上一节讲到把所有的属性都封装到一个对象里面的方法,但是呢还是得记它的属性名。那能不能只读其中的一部分,只要我们封装的对象中的数据呢?封装数据应该针对性的封装,封装一部分,我们要用的时候,直接用这一部分就好了。

假如我有这么一段配置,我们能不能只要一个对象封装这个数据,而不要其它的配置呢?
我们要封装这个数据要干三件事:

创建类,用于封装下面的数据
由spring帮我们去加载数据到对象中国,一定要告诉spring加载这组信息
使用时候从spring中直接获取信息使用


      //1.定义数据模型封装yaml文件中对应的数据
      public class MyDataSource {
          private String driver;
          private String url;
          private String root;
          private String password;

        @Override
        public String toString() {
            return "MyDataSource{" +
                    "driver='" + driver + '\'' +
                    ", url='" + url + '\'' +
                    ", root='" + root + '\'' +
                    ", password='" + password + '\'' +
                    '}';
        }

        public String getDriver() {
            return driver;
        }

        public void setDriver(String driver) {
            this.driver = driver;
        }

        public String getUrl() {
            return url;
        }

        public void setUrl(String url) {
            this.url = url;
        }

        public String getRoot() {
            return root;
        }

        public void setRoot(String root) {
            this.root = root;
        }

        public String getPassword() {
            return password;
        }

        public void setPassword(String password) {
            this.password = password;
        }
    }

另外说一下这个datasource叫前缀
所以@ConfigurationProperties里面的前缀就写它的属性名
这个类是用来封装数据的,那么怎么获取配置文件中的数据呢?
首先交给spring管控,也就是加个注解@Compoment,然后就是指定加载的数据也就是@ConfigurationProperties。


那么怎么看这个对象呢?


要想读取到某个部分的数据,那么首先要有这个模型类,然后需要被spring管控就需要加Compoment和@ConfigurationProperties。

posted @ 2022-04-21 20:38  长情c  阅读(87)  评论(0)    收藏  举报