我尝试按照以下方式配置spring数据休息事件。所有类都在包org.springbootjpa
活动:http://docs.spring.io/spring-data/rest/docs/current/reference/html/#events
以下是我的代码
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
ApplicationContext context = SpringApplication.run(
DemoApplication.class, args);
String[] beanNames = context.getBeanDefinitionNames();
Arrays.sort(beanNames);
for (String beanName : beanNames) {
System.out.println(beanName);
}
}
@Bean
GroupEventHandler groupEventHandler() {
return new GroupEventHandler();
}
}
事件处理程序
@RepositoryEventHandler(UserGroup.class)
public class GroupEventHandler {
@HandleBeforeSave
public void handleGroupSave(UserGroup group) {
System.out.println("Inside handleGroupSave ....");
}
@HandleAfterSave
public void handleAfterSave(UserGroup group) {
System.out.println("Inside handleAfterSave ....");
}
}
实体
@Entity
public class UserGroup {
@Id
@GeneratedValue
private Long groupId;
@Column
private String groupName;
..
}
当我将条目发布到userGroups链接时,不会触发侦听器。
post --data "{groupId:1,groupName:'group1'}"
答案 0 :(得分:2)
如评论中所述,在POST请求的情况下应调用HandleBeforeCreate
。 {P}请求将触发HandleBeforeSave
事件。