zoukankan      html  css  js  c++  java
  • 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);
        }

    得到结果:

     外部文件赋值成功。

  • 相关阅读:
    js笔记1
    106. Construct Binary Tree from Inorder and Postorder Traversal根据后中序数组恢复出原来的树
    365. Water and Jug Problem量杯灌水问题
    452. Minimum Number of Arrows to Burst Balloons扎气球的个数最少
    650. 2 Keys Keyboard复制粘贴的次数
    249. Group Shifted Strings把迁移后相同的字符串集合起来
    450. Delete Node in a BST 删除bst中的一个节点
    528. Random Pick with Weight index的随机发生器
    582. Kill Process杀死所有子代
    348. Design Tic-Tac-Toe设计井字游戏
  • 原文地址:https://www.cnblogs.com/lyh233/p/12449182.html
Copyright © 2011-2022 走看看