Is there any Spring 3 feature to execute some methods when the application starts for the first time? I know that I can do the trick of setting a method with @Scheduled annotation and it executes just after the startup, but then it will execute periodically.
Is there any Spring 3 feature to execute some methods when the application starts
Share
If by “application startup” you mean “application context startup”, then yes, there are many ways to do this, the easiest (for singletons beans, anyway) being to annotate your method with
@PostConstruct. Take a look at the link to see the other options, but in summary they are:@PostConstructafterPropertiesSet()as defined by theInitializingBeancallback interfaceTechnically, these are hooks into the bean lifecycle, rather than the context lifecycle, but in 99% of cases, the two are equivalent.
If you need to hook specifically into the context startup/shutdown, then you can implement the
Lifecycleinterface instead, but that’s probably unnecessary.