是否可以为注入的 Java 资源设置 Lifestyle
我的背景是 .NET,我习惯于使用 Castle Windsor 等工具为我的依赖项设置生活方式(Singleton、PerInstance...)。
我最近转移到一个 Java 项目,其中代码使用 @Resource 来注入依赖项。我环顾四周,但找不到指定生活方式的方法。这个概念是否存在,或者我的搜索只是垃圾?
My background is .NET and I am used to being able to set a lifestyle (Singleton, PerInstance...) for my dependencies using things like Castle Windsor.
I have recently moved to a Java project where the code uses @Resource to inject dependencies. I have looked around but cannot find a way to specify a lifestyle. Does the concept exist or am I just rubbish with my searching?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
资源注释用于从 JNDI 获取容器管理资源(EJB、JMS 队列等),因此我认为您无法控制生命周期和所谓的生活方式。
对于一些细粒度的应用程序组件依赖注入,使用 Spring 或 Weld(Java EE 6 的参考实现)等 CDI 框架是一种可行的方法。
Resource annotation is used to obtain container managed resource (EJB, JMS Queue, etc.) from JNDI so I think you don't have control over life-cycle and what you call lifestyle.
For some fine-grained application component dependency injection using some CDI framework like Spring or Weld (reference impl. for Java EE 6) is way to go.
这种生活方式的概念在本机 Java 中并不存在。我能想到的最接近的概念可能是 Spring 的原型/单例作用域。
http://static.springsource .org/spring/docs/3.0.0.M3/spring-framework-reference/html/ch04s04.html
This concept of lifestyle does not exist in native Java. The closest concept I can think of is probably Spring's prototypes / singleton scopes.
http://static.springsource.org/spring/docs/3.0.0.M3/spring-framework-reference/html/ch04s04.html
使用 Spring 依赖注入模块。详细信息此处
Use Spring dependency injection module. Detailed here