SpringPropertyPlaceholderConfigurer和context:property-placeholder

SpringPropertyPlaceholderConfigurer和context:property-placeholder,第1张

SpringPropertyPlaceholderConfigurer和context:property-placeholder

<context:property-placeholder ... />
是与
PropertyPlaceholderConfigurer
等效的XML。所以,选择那个。在
<util:properties/>
简单的工厂一个
java.util.Properties
实例可以注入。

在Spring 3.1(不是3.0 …)中,你可以执行以下 *** 作:

@Configuration@PropertySource("/foo/bar/services.properties")public class ServiceConfiguration {     @Autowired Environment environment;     @Bean public javax.sql.DataSource dataSource( ){         String user = this.environment.getProperty("ds.user");        ...    } }

在Spring 3.0中,你可以使用SpEl批注“访问”使用PropertyPlaceHolderConfigurer机制定义的属性:

@Value("${ds.user}") private String user;

如果要一起删除XML,只需使用Java配置手动注册PropertyPlaceholderConfigurer。我更喜欢3.1方法。但是,如果你使用Spring 3.0方法(因为3.1尚不支持GA …),你现在可以像上面这样定义XML:

@Configuration public class MySpring3Configuration {  @Bean         public static PropertyPlaceholderConfigurer configurer() {   PropertyPlaceholderConfigurer ppc = ...  ppc.setLocations(...);  return ppc;         }         @Bean         public class DataSource dataSource(     @Value("${ds.user}") String user,      @Value("${ds.pw}") String pw,      ...) {  DataSource ds = ... ds.setUser(user); ds.setPassword(pw);   ... return ds;        }}

注意,PPC是使用

static
bean定义方法定义的。这是确保豆类尽早注册所必需的,因为PPC是
BeanFactoryPostProcessor-
它可以在上下文中影响豆类本身的注册,因此必须先进行其他所有事情的注册。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5021835.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存