草庐IT

java - 使用 Guice 注入(inject)泛型

我正在尝试迁移一个小项目,用Guice替换一些工厂(这是我的第一次Guice试用版)。但是,我在尝试注入(inject)泛型时被卡住了。我设法提取了一个带有两个类和一个模块的小玩具示例:importcom.google.inject.Inject;publicclassConsole{privatefinalStringOutputout;@InjectpublicConsole(StringOutputout){this.out=out;}publicvoidprint(Tt){System.out.println(out.converter(t));}}publicclassStr

java - 使用 Guice 注入(inject)泛型

我正在尝试迁移一个小项目,用Guice替换一些工厂(这是我的第一次Guice试用版)。但是,我在尝试注入(inject)泛型时被卡住了。我设法提取了一个带有两个类和一个模块的小玩具示例:importcom.google.inject.Inject;publicclassConsole{privatefinalStringOutputout;@InjectpublicConsole(StringOutputout){this.out=out;}publicvoidprint(Tt){System.out.println(out.converter(t));}}publicclassStr

java - 使用 Guice 注入(inject)类集合

我正在尝试使用GoogleGuice2.0注入(inject)东西,我有以下结构:FooActionimplementsActionBarActionimplementsAction然后我有一个带有以下构造函数的ActionLibrary:ActionLibrary(ListtheActions)当我从Guice请求ActionLibrary的实例时,我希望Guice识别两个已注册的Action类(FooAction、BarAction)并将它们传递给构造函数。这里的动机是当我添加第三个ActionBazAction时,就像在Module中注册它一样简单,它会自动添加到构造函数中的列表

java - 使用 Guice 注入(inject)类集合

我正在尝试使用GoogleGuice2.0注入(inject)东西,我有以下结构:FooActionimplementsActionBarActionimplementsAction然后我有一个带有以下构造函数的ActionLibrary:ActionLibrary(ListtheActions)当我从Guice请求ActionLibrary的实例时,我希望Guice识别两个已注册的Action类(FooAction、BarAction)并将它们传递给构造函数。这里的动机是当我添加第三个ActionBazAction时,就像在Module中注册它一样简单,它会自动添加到构造函数中的列表

java - 静态方法是 DI 反模式吗?

我是一名Java开发人员,开始掌握依赖注入(inject)的全部威力,我突然意识到没有办法注入(inject)静态方法。所以我开始思考:静态方法是DI反模式吗?更重要的是:如果我接受依赖注入(inject),这是否意味着我需要停止编写静态方法?我问是因为在单元测试期间没有办法模拟它们并注入(inject)模拟静态,这对我来说是一个巨大的关闭。编辑:我知道“包装”和注入(inject)现有静态方法的常用方法是这样的:publicclassFoo{publicstaticvoidbar(){...}}publicinterfaceFooWrapper{publicvoidbar();}pu

java - 静态方法是 DI 反模式吗?

我是一名Java开发人员,开始掌握依赖注入(inject)的全部威力,我突然意识到没有办法注入(inject)静态方法。所以我开始思考:静态方法是DI反模式吗?更重要的是:如果我接受依赖注入(inject),这是否意味着我需要停止编写静态方法?我问是因为在单元测试期间没有办法模拟它们并注入(inject)模拟静态,这对我来说是一个巨大的关闭。编辑:我知道“包装”和注入(inject)现有静态方法的常用方法是这样的:publicclassFoo{publicstaticvoidbar(){...}}publicinterfaceFooWrapper{publicvoidbar();}pu

java - PreparedStatement 是否避免 SQL 注入(inject)?

这个问题在这里已经有了答案:HowdoesaPreparedStatementavoidorpreventSQLinjection?(10个回答)关闭4年前。我已阅读并尝试将易受攻击的sql查询注入(inject)我的应用程序。它不够安全。我只是将语句连接用于数据库验证和其他插入操作。preparedStatements安全吗?而且这个说法也会有问题吗? 最佳答案 使用字符串连接从任意输入构造查询不会使PreparedStatement安全。看看这个例子:preparedStatement="SELECT*FROMusersWHER

java - PreparedStatement 是否避免 SQL 注入(inject)?

这个问题在这里已经有了答案:HowdoesaPreparedStatementavoidorpreventSQLinjection?(10个回答)关闭4年前。我已阅读并尝试将易受攻击的sql查询注入(inject)我的应用程序。它不够安全。我只是将语句连接用于数据库验证和其他插入操作。preparedStatements安全吗?而且这个说法也会有问题吗? 最佳答案 使用字符串连接从任意输入构造查询不会使PreparedStatement安全。看看这个例子:preparedStatement="SELECT*FROMusersWHER

java - Guice 和属性文件

有没有人举例说明如何使用GoogleGuice从.properties文件中注入(inject)属性。有人告诉我,Guice能够在注入(inject)器启动时验证所有需要的属性是否存在。目前我在guicewiki上找不到任何关于此的内容。 最佳答案 您可以使用Names.bindProperties(binder(),getProperties())绑定(bind)属性,其中getProperties返回Properties对象或Map(将属性文件作为Properties对象读取由您决定)。然后您可以使用@Named按名称注入(in

java - Guice 和属性文件

有没有人举例说明如何使用GoogleGuice从.properties文件中注入(inject)属性。有人告诉我,Guice能够在注入(inject)器启动时验证所有需要的属性是否存在。目前我在guicewiki上找不到任何关于此的内容。 最佳答案 您可以使用Names.bindProperties(binder(),getProperties())绑定(bind)属性,其中getProperties返回Properties对象或Map(将属性文件作为Properties对象读取由您决定)。然后您可以使用@Named按名称注入(in