小编use*_*336的帖子

Google Guice 每次都返回新实例

我是依赖注入的新手,最近不得不学习 Spring 和 Guice。下面的问题可能很蹩脚。

Spring 允许您使用 @Scope("prototype") 注释创建原型对象,这意味着每次都返回一个新对象

例如在我的弹簧容器中:-

@Scope("prototype")
@Bean
A getA(){
   return new A();
}
Run Code Online (Sandbox Code Playgroud)

并且在@autowired 的所有引用中注入了一个新对象A。

class B {
  @Autowired
  A objA;
}
Run Code Online (Sandbox Code Playgroud)

但是,在 guice 注入器中,正在注入相同的实例。看起来 guice 只提供单例、请求或会话范围https://github.com/google/guice/wiki/Scopes。我的应用程序不完全是一个 Web 服务,我想知道如何在任何地方注入对象的新实例。我读过可以使用提供程序,但找不到任何蹩脚/简单的例子来理解。

我如何将 A 的新实例注入 B 或任何其他类?使用 Guice,目前我只能在 guice 容器中注入具有以下所有类的相同实例

bind(A.Class).toInstance(new A());
new B(); // or create with other ways 
Run Code Online (Sandbox Code Playgroud)

dependency-injection guice

2
推荐指数
1
解决办法
6169
查看次数

适用于服务的AWS Dynamo Db的连接池

这个问题更多地是关于开发Web服务时的最佳实践。这可能有点含糊

可以说我的服务使用Spring容器,该容器为所有请求创建一个标准控制器对象。现在,在我的控制器中,我注入了在spring容器中创建一次的Dynamo Db映射器实例。 https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBMapper.OptionalConfig.html

题:-

我们是否应该创建DynamoDb客户端对象和映射器的池,以便从池中提供对服务的并行请求?还是应该为所有请求注入DynamoDb映射器对象的相同/新实例?为什么我们不使用C3PO之类的Dynamo Db连接呢?

web-services amazon-web-services amazon-dynamodb

1
推荐指数
1
解决办法
2091
查看次数