使用Spring MVC在应用程序启动时执行Java类的最佳方法是什么?
我在一个复杂的java程序中有一个方法,需要在初始化Web ApplicationContext和SpringBeans之后立即调用它.
我试过玩弄
<bean id="..." class="..." init-method="initialize">
但这个方法会调用一个applicationContext.get().getBean(beanId);
方法.
我想知道是否有人知道如何做到这一点.
谢谢.
我正在使用任务命名空间在spring中设置一个计划任务方案.
我想安排大部分任务根据cron表达式火,有的在启动后只启动一次,一个固定的延迟,然后再也没有(即什么设置repeatCount
,以0
将实现在SimpleTriggerBean).
是否有可能在任务命名空间中实现这一点,或者我是否需要恢复为我的触发器定义bean?
我正在使用PropertyPlaceholderConfigurer从属性文件加载应用程序设置,例如JDBC连接信息.我还想将其他设置(如默认语言环境和时区)作为属性.
但我不确定最好的执行方法Locale.setDefault()
和TimeZone.setDefault()
.我希望他们在启动时早点运行一次.在其他代码执行之前,Spring是否有正确的方法执行某些代码?有什么建议?
我知道我可以在命令行上指定默认值,但是这个应用程序将安装在很多地方,我想避免因忘记指定-Duser.timezone = UTC或其他原因而引起的问题.
我想在启动时从文本文件填充我的数据库的一些表,我希望仅在我的应用程序启动时调用我的初始化方法.
我使用Spring(+ MVC)和Hibernate与MySQL.
我能怎么做?
@Scheduled
我的应用程序中有一个任务,设置使用CRON
并每4小时运行一次.我面临的问题是,CRON
应用程序启动后作业不会立即启动,但它只在应用程序启动后4小时启动.
我试图@PostConstruct
在任务中使用一个方法来调用它,但是由于未初始化的Spring上下文而导致错误.
请告诉我如何在应用程序部署时立即运行计划任务,然后在部署后每4小时运行一次.
编辑:
我不会使用,@PostConstruct
因为我的预定方法取决于其他Bean,当这个PostConstruct方法由于某种原因运行时未初始化.