在之后方法中,我得到的 logservice 为空。
我使用了@ Component,@ ComponentScan,@ Service和@Configuration,但没有一个起作用。
这是我的 Listener 类
@Component
public class LogOrder {
private static LogService logService;
@Autowired
public void setLogService(LogService logService) {
LogOrder.logService = logService;
}
@PostUpdate
private void after(Order order) {
logService.log("Logged");
}
}
这是我的 Entity 类
@EntityListeners(LogOrder.class)
@Entity
public class Order{
}
这是 LogService 接口及其实现
public interface LogService {
void send("");
}
@Service(value = "logService")
public class LogServiceImpl implements LogService {
private final SomeOtherService someOtherService;
@Autowired
public LogServiceImpl(SomeOtherService someOtherService) {
this.someOtherService = someOtherService;
}
public void send(String someText) {
SomeTemplate someTemplate = someOtherService.someTemplate();
someTemplate.convertAndSend(someText);
}
}
如何获取 LogService 不为空。
答案 0 :(得分:0)
您正在尝试自动连接静态字段。
private static LogService logService;
从属性中删除静态。