zoukankan      html  css  js  c++  java
  • SpringBoot bean映射yml中的属性举例

    pom:导入配置文件处理器,配置文件进行绑定就会有提示

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring‐boot‐configuration‐processor</artifactId>
                <optional>true</optional>
            </dependency>

    yml:

    user: 
       name: lisa
       postcode: 610424199612112800

    user.java方式一:使用@ConfigurationProperties注解实现批量对应属性值

    package com.pecool.customer.entity;
    
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    
    @Component
    @ConfigurationProperties(prefix="user")
    public class User {
    
        private String name;
        private String postcode;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getPostcode() {
            return postcode;
        }
        public void setPostcode(String postcode) {
            this.postcode = postcode;
        }
        @Override
        public String toString() {
            return "User [name=" + name + ", postcode=" + postcode + "]";
        }
        
    }

    user.java方式二:在属性上使用spring 的@Value注解也可以获取到yml或properties中的值

    package com.pecool.customer.entity;
    
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    
    @Component
    //@ConfigurationProperties(prefix="user")
    public class User {
    
        @Value("${user.name}")
        private String name;
        
        @Value("${user.postcode}")
        private String postcode;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getPostcode() {
            return postcode;
        }
        public void setPostcode(String postcode) {
            this.postcode = postcode;
        }
        @Override
        public String toString() {
            return "User [name=" + name + ", postcode=" + postcode + "]";
        }
        
    }

    Test.java

    package com.pecool;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    
    import com.pecool.customer.entity.User;
    
    @SpringBootTest
    @RunWith(SpringRunner.class)
    public class TestA {
    
        @Autowired
        private User user;
        
        @Test
        public void xxx(){
            System.out.println(user);
        }
        
    }

  • 相关阅读:
    C# 设计模式-状态模式
    C# 设计模式-备忘录模式
    C# 设计模式-命令模式
    本地易优安装总结
    视频自动添加字幕
    百度商桥安装
    百度统计
    模板
    百度地图API
    栅格布局的理解
  • 原文地址:https://www.cnblogs.com/pecool/p/13040698.html
Copyright © 2011-2022 走看看