有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

json序列化程序中的javabean注入

我有一个包含两个实现的接口

public interface IEncryptDecryptService {

String encrypt(String text);

String decrypt(String text);
}

一类是

 @Service("SunJks")
 public class GeneralEncryptDecryptServiceImpl implements 
 IEncryptDecryptService {
  public String encrypt{
  }
  public String decrypt{
  }

 }

另一类是

 @Service("SafenetHsm")
 public class SafenetHsmEncryptDecryptServiceImpl implements 
 IEncryptDecryptService {
 public String encrypt{
  }
  public String decrypt{
  }
 }

我想在另一个类中注入两个类中的一个

@Component
public class LogService implements ILogService {


@Resource(name = "${vault.encryptdecrypt.provider}")
private IEncryptDecryptService edservice;

public display{
edservice.encrypt("***");
}

在这个类中,我需要注入两个bean中的一个

在应用中。属性我已经配置好了

#Provider Configurer
vault.encryptdecrypt.provider=SunJks 

然后注入“GeneralEncryptDecryptServiceImpl”

#Provider Configurer
vault.encryptdecrypt.provider=SafenetHsm

然后将SafenetHsmEncryptDecryptServiceImpl注入到“LogService”类中

它很好用

若我在自定义JsonSerializer类中实现了相同的东西,那个么它就不工作了,bean就不会被注入

 @Component
 public class MaskSerializer extends JsonSerializer<Xclass> {

 @Resource(name = "${vault.encryptdecrypt.provider}")
 private IEncryptDecryptService edservice;

 @Override
 public void serialize(Xclass value, JsonGenerator gen, 
 SerializerProvider provider) throws IOException {

    String str = value.getPersistenceValue();

    String strr = edservice.encrypt(str);

    gen.writeStartObject();

    gen.writeFieldName(strr);
    gen.writeEndObject();

}

我在edservice上遇到nullpointer异常。在上面的类中加密(str)

豆子没有注射吗


共 (0) 个答案