- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是一个人为的例子,但它说明了我的问题。我想创建一个自定义 DynamoDBMarshaller<T>
将我的对象编码到数据库/从数据库中解码。它需要 CustomMarshaller
Spring bean,实例化后需要注入(inject)到 MyAttributeMarshaller 类中。但是,由于此类是通过 @DynamoDBMarshalling() 注释创建的,因此它不受 Spring 管理。有没有办法让我的 CustomMarshaller spring bean 在 MyAttributeMarshaller 类中可用?
@DynamoDBTable(tableName = "MyTable")
public class ObjectInTable
{
@DynamoDBAttribute(attributeName = "myAttribute")
@DynamoDBMarshalling(marshallerClass = MyAttributeMarshaller.class)
public MyAttribute getMyAttribute() { ... }
public MyAttribute setMyAttribute(MyAttribute o) { ... }
}
还有我的 marsher 类(class)..
@Named
public class MyAttributeMarshaller implements DynamoDBMarshaller<MyAttribute>
{
@Override
public String marshall(MyAttribute o)
{
return marshaller.marshall(o);
}
@Override
public ProviderContentReference unmarshall(Class<ProviderContentReference> clazz, String obj)
{
return marshaller.unmarshall(o);
}
@Inject
private CustomMarshaller marshaller; // ERROR: null
}
** 更新 **
我找到了一个似乎可以通过首先创建 Spring bean 来工作的解决方案:
@Named
public class SpringContext implements ApplicationContextAware
{
private static ApplicationContext context;
public void setApplicationContext(ApplicationContext context) throws BeansException
{
this.context = context;
}
public static ApplicationContext getApplicationContext() {
return context;
}
}
然后在非 Spring 管理的 MyAttributeMarshaller
中检索我的自定义编码器作者:
private CustomMarshaller marshaller = (CustomMarshaller)
SpringContext.getApplicationContext().getBean("customMarshaller");
最佳答案
恐怕不是。您要求 DynamoDB 使用该编码器类的特定实例,该实例已由 Spring 通过 CustomMarshaller 注入(inject)。
您可以将 CustomMarshaller 实例放在静态位置/字段中,然后从 MyAttributeMarshaller 中获取它,但这是一个盲目的尝试,因为发布的代码不足以确定
关于java - 如何将 Spring bean 注入(inject) DynamoDBMarshaller<T> 的实现中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45023918/
我有一个与 this 非常相似的 DynamoDBMarsheller 。看起来像: public class EnumMarshaller implements DynamoDBMarshaller
我不熟悉编码和解码。我想使用 DynamoDBMashaller 编码和解码一个通用列表 我有跟类 public class ListObjectConverter implements Dynamo
这是一个人为的例子,但它说明了我的问题。我想创建一个自定义 DynamoDBMarshaller将我的对象编码到数据库/从数据库中解码。它需要 CustomMarshaller Spring bean
我关注了here通过创建MyCustomMarshaller。 MyCustomMarshaller public class MyCustomMarshaller implements Dynamo
我是一名优秀的程序员,十分优秀!