我希望我的服务器在启动时进行一些数据库清理。我尝试将@PostConstruct方法添加到服务中,但是@Transactional在那里不起作用。我所做的任何更改都不会被持久化。我怎么能这样做?我可以创建一个具有特定回调的新bean吗?
答案 0 :(得分:3)
你可以在@PostConstruct中调用另一个事务资源来完成工作,因为那时就完成了注入。因此,DbPopulator
可以在其UserService
中使用@PostConstruct
,并且所有内容都是事务性的,并且可以很好地分开。 Singleton bean是在启动时构建的,因此不需要额外的设置。