Guice在Spring依赖注入中绑定到Instance等式

时间:2014-01-14 14:45:22

标签: java spring dependency-injection guice

我将以一个例子来解释这种情况。例如,我有一个Settings类,我在那里配置一些主机名,端口信息。像:

public class Settings {

@Inject
private User user;

在guice中我可以用以下方式处理:

 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

的观点

1 个答案:

答案 0 :(得分:0)

如果这是一个Web应用程序,您希望使用类似Spring的安全性,并使用会话范围的对象来控制提供给表单的用户。

否则,你可以这样做:

@Configuration
public class XYZConfig {

    @Bean(name="User")
    public User getUser() {
        return new User();
    }
}

在春季应用程序环境中,您需要执行以下操作:

<context:component-scan base-package="com.xyz" />

Spring boot有很多可能需要做的事情的基本样本:

https://spring.io/guides/gs/spring-boot/