0

我有在朗姆酒时需要动态值的构造函数,并且想知道它是否
仍然可以使用依赖注入。请让我知道在这种情况下如何使用 spring 进行依赖注入。

public class User { 

    private String username;
    private int userid;

    User(String username, int userid) {
        this.username = username;
        this.userid = userid;
    }

    public String toString() {
        return "username" + userid;
    }
}

public class Superuser {

    private User user;

    public daomethod() {
        //some data access code that gets the username and id ......
        // now i need to pass this username and user id to the User constructor        
        user.toString();**     
    }
}
4

2 回答 2

0

像这样使用@javax.inject.Inject:

    @Inject
    User(String username, int userid) {
        this.username = username;
        this.userid = userid;
    }
于 2013-03-28T06:06:37.727 回答
0

如果这仍然是人们的问题,Spring 有别名,您可以使用这些别名命名注册:http ://springframework.net/doc/sdk/2.0/html/Spring.Core~Spring.Context.Support.TypeRegistry~RegisterType%28String ,字符串%29.html

然后,如果您将抽象工厂与这些命名注册和命名约定结合使用,您可以以非常干净的方式解决这些依赖注入。我写了一个简单的 .NET + Unity 示例(基础相同):https ://dannyvanderkraan.wordpress.com/2015/06/29/real-world-example-of-dependency-injection-based-on -运行时值/

也许它可以帮助人们。

于 2015-07-02T18:28:13.257 回答