• 12、spring注解学习(属性赋值)——@PropertySource加载外部配置文件


    1、创建person类

    public class Person {
        
        /*
         * 使用@Value赋值:
         *     1、基本数值
         *     2、可以写SpEl;#{}
         *     3、可以写${}、取出配置文件中(例如properties文件)的值(运行环境变量里面的值)
         */
        @Value("张三")
        private String name;
        @Value("#{20-2}")
        private Integer age;
        
        private String school;
        
        public Person() {
            super();
        }
        public Person(String name, Integer age) {
            super();
            this.name = name;
            this.age = age;
        }
        public String getName() {
            return name;
        }
        public Integer getAge() {
            return age;
        }
        public void setName(String name) {
            this.name = name;
        }
        public void setAge(Integer age) {
            this.age = age;
        }
        
        public String getSchool() {
            return school;
        }
        public void setSchool(String school) {
            this.school = school;
        }
        @Override
        public String toString() {
            return "Person [name=" + name + ", age=" + age + ", school=" + school + "]";
        }
    }

    2、创建要加载的外部文件

    3、spring配置类中加载外部配置文件

    /**
     * 测试bean的属性赋值的配置
     */
    @Configuration
    @PropertySource(value= {"classpath:/person.properties"})
    public class MainConfigOfPropertyValue {
        
        @Bean("person")
        public Person person() {
            return new Person();
        }
    }

    4、在person类中的属性赋外部文件中定义的值

    public class Person {
        
        /*
         * 使用@Value赋值:
         *     1、基本数值
         *     2、可以写SpEl;#{}
         *     3、可以写${}、取出配置文件中(例如properties文件)的值(运行环境变量里面的值)
         */
        @Value("张三")
        private String name;
        @Value("#{20-2}")
        private Integer age;
        
        @Value("${person.school}")
        private String school;
        public Person() {
            super();
        }
        public Person(String name, Integer age) {
            super();
            this.name = name;
            this.age = age;
        }
        public String getName() {
            return name;
        }
        public Integer getAge() {
            return age;
        }
        public void setName(String name) {
            this.name = name;
        }
        public void setAge(Integer age) {
            this.age = age;
        }
        
        public String getSchool() {
            return school;
        }
        public void setSchool(String school) {
            this.school = school;
        }
        @Override
        public String toString() {
            return "Person [name=" + name + ", age=" + age + ", school=" + school + "]";
        }
    }

    5、定义测试方法进行测试

        @Test
        public void test01() {
            AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(MainConfigOfPropertyValue.class);
            Object bean = applicationContext.getBean("person");
            System.out.println(bean);
        }

    得到结果:

     外部文件赋值成功。

  • 相关阅读:
    Java 8 锁机制
    Elasticsearch学习资料
    数据库相关
    Linux常用Shell命令
    如何高效编写可维护代码?
    分布式开放消息系统(RocketMQ)的原理与实践(转载)
    学习Linux第六天(学习文件权限和特殊权限)
    各大网络厂商列表
    Linux服务器系统信息查询
    关于情感
  • 原文地址:https://www.cnblogs.com/lyh233/p/12449182.html
Copyright © 2020-2023  润新知