我在方法后得到空的日志服务。

我使用了@ Component,@ ComponentScan,@ Service和@Configuration,但是没有一个起作用。

这是我的监听器类

@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");
   }

}


这是我的实体课

@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不为null。

最佳答案

您正在尝试自动连接静态字段。

   private static LogService logService;


从属性中删除静态。

09-11 19:25