我试图将一个RepositoryEventHandler添加到如下所示的REST存储库中:
@RepositoryRestResource(collectionResourceRel = "agents",path = "/agents") public interface AgentRepository extends CrudRepository<Agent,Long> { // no implementation required; Spring Data will create a concrete Repository }
我创建了一个AgentEventHandler:
@Component @RepositoryEventHandler(Agent.class) public class AgentEventHandler { /** * Called before {@link Agent} is persisted * * @param agent */ @HandleBeforeSave public void handleBeforeSave(Agent agent) { System.out.println("Saving Agent " + agent.toString()); } }
并在@Configuration组件中声明它:
@Configuration public class RepositoryConfiguration { /** * Declare an instance of the {@link AgentEventHandler} * * @return */ @Bean AgentEventHandler agentEvenHandler() { return new AgentEventHandler(); } }
当我发布到REST资源时,实体被持久化,但是方法handleBeforeSave从未被调用.我失踪了什么
我使用的是:Spring Boot 1.1.5.RELEASE