0
私はクラスを別のクラスに注入しようとしていますが、ポスト構造中に注入されたクラスは期待どおりに動作し、他のメソッドでそのクラスを使用しようとするとnullポインタがスローされます。Spring InjectはpostConstruct中にのみクラスをロードします
私のサービスクラスでは、postconstructメソッドがマップから期待値を出力しているのがわかります。 sayhelloメソッドはNPEを投げます。以下では間違っている何
(コードは文句を言わないコンパイル...ちょうどハイレベルにそれを置くことを望んでいた)
@RestController
@Produces(MediaType.APPLICATION_JSON)
@RefreshScope
public class ServRes{
@Inject
ServiceFact service;
@RequestMapping("/test")
public Response helloWorld(){
Service myservice = service.getService();
myservice.sayHello();
}
マイServiceFact
@Named
public class ServiceFact{
public Service getService(){
return new Service();
}
マイServiceClass
@Named
public class Service{
private HashMap dict;
@Inject
Private DictLoader dicLoader
@PostConstruct
public void load(){
this.dict = dicLoader.getDict();
dict.get("1"); // prints 12212
}
public void sayHello(){
System.out.print(dict.get("1")); //throws NPE
}
}