我正在扩展AbstractRepositoryEventListener以便创建照片的md5哈希并将其与对象一起保存。
我想在出现异常的情况下完全放弃保存照片。
@Component
public class MyHandler extends AbstractRepositoryEventListener<Photo> {
@Autowired
PhotoService photoService;
@Override
public void onBeforeSave(Photo photo) {
File originalPhoto = new File(foto.getUriOriginal());
try {
String hash = photoService.getHash(originalPhoto);
photo.setHash(hash);
} catch ( IOException | NoSuchAlgorithmException e ) {
e.printStackTrace();
}
}
}
您可能会抛出RuntimeException的实例。它将使Spring回滚。
还有其他更全面的方法,您可以找到here的详细信息。