Spring注解(三):属性赋值

  1. @Value
    1. 基本数值
    2. SpEL
      1. #{}:
      2. ${}:配置文件中的值
  2. 读取外部配置文件中的k/v保存到运行的环境变量中@PropertySource、@PropertySources
    @PropertySource(value ={"classpath:配置文件的路径"} )
    <!-- xml方式 -->
    <context:property-placeholder location="classpath:配置文件的路径" />
  3. 取出外部配置文件中的值
    1. 方式一:通过@value注解获取配置文件中的值
      1. 通过@value注解获取值的方式有三种,其中一种需要实现EmbeddedValueResolverAware接口重写setEmbeddedValueResolver方法,另外两种不需要实现EmbeddedValueResolverAware接口,下面的代码中dbUrl、username是一种方式,pwd是一种方式,driverClassName是一种方式
        @value("${db.dbUrl}")
        private String dbUrl;
        
        @value("${db.username}")
        private String username;
        
        private StringValueResolver  valueResolver;
        
        private String driverClassName;
        
        @Bean
        public voidsetEmbeddedValueResolver(StringValueResolver valueResolver){
           this.valueResolver = valueResolver;
            driverClassName= valueResolver.resolverStringValue("${db.driverClassName}"); 
        }
        
        @Bean
        public DataSource getDataSource(@value("${db.pwd}") pwd){
            DruidDataSource datasource = new DruidDataSource();
            datasource.setUrl(dbUrl);
            datasource.setUsername(username);
            datasource.setPassword(pwd);
            datasource.setDriverClassName(driverClassName);
            return datasource;
        }
    2. 方式二:通过applicationContext获取环境变量,来获取配置文件的值
      ApplicationContext annotationConfigApplication = new AnnotationConfigApplicationContext(BeanConfig.class);
      Environment environment = annotationConfigApplication.getEnvironment();
      String property = environment.getProperty("key");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值