我想知道如何在java对象中的Autowire sprig bean不受Spring应用程序上下文管理。 我创建了一个类的实例,但随后的自动装配对象为空。例如。春天非托管对象的自动装配
@Service
Class BaseFactory {
public BaseObject getObject(String type){
BaseObject object = null;
if(type.equalsIgnoreCase("order")){
object = new FirstServiceObject();
}
else if(type.equalsIgnoreCase("payment")){
object = new SecondServiceObject();
}
return object;
}
服务类
@Service
@Configurable
public class FirstServiceObject{
@Autowired
UserRepository mUserRepository;// coming as null
@Autowired
UserHelper userHelper;//coming as null
public getDownloadedData(String userName, String b){
User user = userHelper.findUser(userName); //null pointer exception
}
}从那里,我呼吁上述
我的帮助类。
public class SomeHelper {
@Autowired
BaseFactory baseFactory;
public processUser(){
BaseObject object = baseFactory.getObject("order");
object.getDownloadedData("sunil","someString")
}
所有自动装配Autowired豆即将为空内FirstServiceObject
我与已经给了所有可能的解决方案检查并没有一个似乎是为我工作。
你注释@Component来你BaseFactory? – emotionlessbananas
为什么你甚至使用工厂,这只会使事情变得复杂。为什么不直接将服务直接注入需要它的类?尽管如此,让Spring管理服务,不要自己创建实例。 –
@Asterisk是的我试过了,也没有为我工作。 –