• spring 注解学习 三 spring属性值的注入


    属性值的注入

    public class Person {
    
    //使用@Value赋值;
    //1、基本数值
    //2、可以写SpEL; #{}
    //3、可以写${};取出配置文件【properties】中的值(在运行环境变量里面的值)
    
    @Value("张三")
      private String name;
      @Value("#{20-2}")
      private Integer age;
       
      @Value("${person.age}")  
       private Integer age;
    }
    

    配置文件中的值需要加载到spring中的Environment环境变量中,spring在启动时,会把系统变量与jvm虚拟机参数都加入到Environment环境变量,如果有.properties配置文件,也会加入到Environment变量中。

    载入配置文件:

    import org.springframework.context.annotation.ComponentScan;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.PropertySource;
    
    @Configuration
    @ComponentScan("com.*")
    @PropertySource(value= {"classpath:/application.properties"})
    public class AppConfig {
    
    }
    

    如果手工获取参数配置

       @Test
        public void fun() {
            AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class);
    
            ConfigurableEnvironment environment = applicationContext.getEnvironment();
            System.out.println(environment);
            Map<String, Object> systemProperties = environment.getSystemProperties();//获取系统变量
            Map<String, Object> systemEnvironment = environment.getSystemEnvironment();//获取虚拟机参数
            System.getenv();//获取系统变量
            System.getProperties();//获取虚拟机参数
            System.out.println(environment.getProperty("demo.value"));
            System.out.println(environment.getProperty("person.name"));
            System.out.println(environment.getProperty("java.runtime.version"));
            System.out.println(environment.getProperty("LOCALAPPDATA"));
            
           
            applicationContext.close();
        }
  • 相关阅读:
    引用dll文件要提交解决方案
    设置dateBox初始日期为当前日期
    Java基础之线程并发协作(生产消费者模式)
    Java基础之线程的交互
    Java基础之线程synchronized关键字
    Java基础之线程阻塞
    Java基础之线程的两种实现方式
    Java Eclipse代码注释和快捷键
    Java基础之数组
    列出一些你常见的运行时异常?
  • 原文地址:https://www.cnblogs.com/cplinux/p/14533146.html
Copyright © 2020-2023  润新知