是否可以@Entity使用Spring的依赖注入将bean注入JPA ?
我尝试@Autowire ServletContext但是,当服务器确实成功启动时,我在尝试访问bean属性时收到了NullPointerException.
@Autowired
@Transient
ServletContext servletContext;
Run Code Online (Sandbox Code Playgroud) 我通常只是@Autowire东西成春天的对象.但是我遇到了一种情况,我需要动态创建一些需要可以自动装配的值的对象.
我该怎么办?我能做的只是手动将自动装配的值传递给新对象的构造函数.我想做的就是在创建它时自动装配每个新对象.
@Service
public class Foo {
@Autowired private Bar bar;
/** This creates Blah objects and passes in the autowired value. */
public void manuallyPassValues() {
List<Blah> blahs = new LinkedList<Blah>();
for(int i=0; i<5; ++i) {
Blah blah = new Blah(bar);
blahs.add(blah);
}
// ...
}
/** This creates Blah objects and autowires them. */
public void useAutowire() {
List<Blah> blahs = new LinkedList<Blah>();
for(int i=0; i<5; ++i) {
// How do I implement the createAutowiredObject method?
Blah blah …Run Code Online (Sandbox Code Playgroud) 我已经使用基于注释的配置运行Spring Boot,但我对于春天来说是一个很新的东西.我真的找不到其他地方的问题解决方案.我有使用以下继承结构的Task对象:
现在我想将一些Repository自动装配到SystemTask.此外,我想将存储库和一些服务自动装配到UserTask(以及它的所有子节点).
我该怎么做呢?使用以下代码,我得到一个空指针异常.
父母:
public abstract class ParentTask implements Runnable {
// some fields
protected ParentTask(/*fields*/) {
//this.fields = fields;
}
@Override
public abstract void run();
}
Run Code Online (Sandbox Code Playgroud)
第一个孩子:
public class SystemTask extends ParentTask {
@Autowired
protected SomeService someService;
protected SystemTask(/*fields*/) {
super(fields);
//set some other fields
}
@Override
public void run() {
someService.doSomething(); // <-- nullPointerException
}
}
Run Code Online (Sandbox Code Playgroud)
第二个孩子:
public abstract class UserTask extends ParentTask {
@Autowired
protected SomeService someService;
@Autowired
protected SomeRepository someRepository;
protected …Run Code Online (Sandbox Code Playgroud)