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) 个答案