这可能是题外话,但 Guice 使配置比为您需要的每个 String 编写显式绑定要容易得多。你可以只为他们准备一个配置文件:
Properties configProps = Properties.load(getClass().getClassLoader().getResourceAsStream("myconfig.properties");
Names.bindProperties(binder(), configProps);
瞧,您的所有配置都已准备好注入:
@Provides // use this to have nice creation methods in modules
public Connection getDBConnection(@Named("dbConnection") String connectionStr,
@Named("dbUser") String user,
@Named("dbPw") String pw,) {
return DriverManager.getConnection(connectionStr, user, pw);
}
现在只需在类路径的根目录下创建Java 属性文件 myconfig.properties
dbConnection = jdbc:mysql://localhost/test
dbUser = username
dbPw = password
或将来自其他来源的授权信息合并到属性中,然后您就设置好了。