- @Value
- 基本数值
- SpEL
- #{}:
- ${}:配置文件中的值
- 读取外部配置文件中的k/v保存到运行的环境变量中@PropertySource、@PropertySources
@PropertySource(value ={"classpath:配置文件的路径"} )
<!-- xml方式 --> <context:property-placeholder location="classpath:配置文件的路径" />
- 取出外部配置文件中的值
- 方式一:通过@value注解获取配置文件中的值
- 通过@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; }
- 通过@value注解获取值的方式有三种,其中一种需要实现EmbeddedValueResolverAware接口重写setEmbeddedValueResolver方法,另外两种不需要实现EmbeddedValueResolverAware接口,下面的代码中dbUrl、username是一种方式,pwd是一种方式,driverClassName是一种方式
- 方式二:通过applicationContext获取环境变量,来获取配置文件的值
ApplicationContext annotationConfigApplication = new AnnotationConfigApplicationContext(BeanConfig.class); Environment environment = annotationConfigApplication.getEnvironment(); String property = environment.getProperty("key");
- 方式一:通过@value注解获取配置文件中的值
Spring注解(三):属性赋值
最新推荐文章于 2023-03-23 21:31:57 发布