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);
        }

    得到结果:

     外部文件赋值成功。

  • 相关阅读:
    Android引导页设计
    QQ5.0左侧滑动显示效果
    QQ左侧滑动显示之按钮切换
    QQ左侧滑动显示之自定义属性
    HDU 4009——Transfer water——————【最小树形图、不定根】
    HDU 2121——Ice_cream’s world II——————【最小树形图、不定根】
    POJ 3164——Command Network——————【最小树形图、固定根】
    HDU 5532——Almost Sorted Array——————【技巧】
    UVA 10462 —— Is There A Second Way Left?——————【最小生成树、kruskal、重边】
    HDU 4081—— Qin Shi Huang's National Road System——————【次小生成树、prim】
  • 原文地址:https://www.cnblogs.com/lyh233/p/12449182.html
Copyright © 2011-2022 走看看