论坛首页 Java企业应用论坛

别装了,难道你们不想把properties直接注入到object中去(spring-plugin)?

浏览 28534 次
该帖已经被评为良好帖
作者 正文
   发表时间:2008-04-12  
难道,这是个系列贴?
0 请登录后投票
   发表时间:2008-04-28  
在下一个项目中就尝试尝试这种做法看看。
0 请登录后投票
   发表时间:2008-05-04  
使用这种方法要注意bean的一些callback methods
下面两种情况使用不到@Properties注入的值
  • JSR-250的@PostConstruct
  • InitializingBean的afterPropertiesSet

将代码中的postProcessBeforeInitialization和postProcessAfterInitialization互换,在初始化之前注入@Properties注释的filed,可以解决使用InitializingBean的afterPropertiesSet获取不到值得情况。

0 请登录后投票
   发表时间:2008-05-04  
看来约定成俗是未来的大方向了。。。。楼主的方案很好,学习了。
0 请登录后投票
   发表时间:2008-05-07  
个人感觉还是喜欢在配置文件里面写${},因为这些全局的设置写在XML里面,很容易找到哪些bean用了这些properties,以后维护修改也不涉及修改代码。反过来如果用annotation,那么对于一个刚接触项目的人,如果他没找到Config就茫然了。(Config配置VO应该很好找,这里只是举个例子
0 请登录后投票
   发表时间:2008-05-11  
没看懂,,

也许我涉足的还不够的缘故吧,,
0 请登录后投票
   发表时间:2008-05-12  
还是喜欢集中配置在xml里面
0 请登录后投票
   发表时间:2008-06-05  
Quake Wang 写道
这样做会不会更好一些?
在Config这个class所在的package下面,有一个同名的Config.properties文件,里面有设置同名field的值:
accounts=xxx
user=xxx
password=xxx

然后实现一个BeanPostProcessor来根据这个约定来注入值。
这样就省了在Config.java文件写一堆的@Properties annotation,如果你觉得在某些情况下properties文件无法保证和field同名这个约定,你也可以再以@Properties annotation为优先设定。


请问有没有在这个设计基础上的成型代码?
0 请登录后投票
   发表时间:2008-06-09  
kabbesy 写道
Quake Wang 写道
这样做会不会更好一些?
在Config这个class所在的package下面,有一个同名的Config.properties文件,里面有设置同名field的值:
accounts=xxx
user=xxx
password=xxx

然后实现一个BeanPostProcessor来根据这个约定来注入值。
这样就省了在Config.java文件写一堆的@Properties annotation,如果你觉得在某些情况下properties文件无法保证和field同名这个约定,你也可以再以@Properties annotation为优先设定。


请问有没有在这个设计基础上的成型代码?

等分散到package之后,或许有一天你又会想把它们都集中管理,放入某个xml里边,这个xml名字或许可以叫做package-class-mapping.xml 简称pcm跟hibernate的hbm对应,可以一个文件放一个vo设置,或者根据package放置多个vo设置,总之随你心意:)
0 请登录后投票
   发表时间:2008-07-10  
有一些正在用~
但有一些还真的没有尝试过~ 找空试一下...
又偷学到东西了... 嘻嘻~
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics