【发布时间】:2014-01-14 14:45:21
【问题描述】:
我将举例说明情况。例如,我有一个设置类,我正在那里配置一些主机名、端口信息。喜欢:
public class Settings {
@Inject
private User user;
我可以通过以下方式处理这个问题:
private Injector injector;
public void setInjector(){
injector=Guice.createInjector( new AbstractModule(){
@Override
protected void configure(){
bind( User.class ).toInstance(user);
}
}
}
当有人使用@Inject User user 时,我的代码只给他我的实例,我的意思是,无论开发人员使用 Inject 创建用户实例,都只有一个用户实例。
我如何在春天实现这一目标,有人可以解释一下吗?
请注意:我只知道有一个 @Autowired 注释,但如何实现这一点令人困惑:S
提前致谢
顺便说一句:我无法理解提到here
【问题讨论】:
-
你想让 Spring 为你的用户对象创建多个实例吗?如果是这样,请尝试“@Inject”和“@Dependent”。我不认为那是你要找的东西。如果您希望在任何地方都使用相同的用户,您需要在某个地方定义 bean,在 java 配置类中或通过 xml docs.spring.io/spring/docs/3.2.4.RELEASE/… java 配置需要 @Configuration 和一些用于在 xml 中扫描的设置。澄清您在寻找什么,我可能会提供帮助。
-
我总是希望到处都有相同的配置用户对象,你能否解释更多关于@Configuration 以及我如何使用的信息。我刚试了一下,没成功。
标签: java spring dependency-injection guice