1、实现ServletContextAware接口并重写其setServletContext办法
@Component
public class TestStarted implements ServletContextAware {
/** * 在填充一般bean属性之后但在初始化之前调用 * 相似于initializingbean的afterpropertiesset或自定义init办法的回调 * */@Overridepublic void setServletContext(ServletContext servletContext) { System.out.println("setServletContext办法");
留神:该办法会在填充完一般Bean的属性,然而还没有进行游戏Bean的初始化之前执行
2、实现ServletContextListener接口
/**java我的项目www fhadmin org
- 在初始化Web应用程序中的任何过滤器或servlet之前,将告诉所有servletContextListener上下文初始化。
*/
@Override
public void contextInitialized(ServletContextEvent sce) {
//ServletContext servletContext = sce.getServletContext();System.out.println("执行contextInitialized办法");
3、将要执行的办法所在的类交个spring容器扫描(@Component),并且在要执行的办法上增加@PostConstruct注解或者动态代码块执行
//java我的项目www fhadmin org
@Component
public class Test2 {
//动态代码块会在依赖注入后主动执行,并优先执行static{ System.out.println("---static--");}/** * @Postcontruct’在依赖注入实现后主动调用 */www.sangpi.com@PostConstructpublic static void haha(){ System.out.println("@Postcontruct’在依赖注入实现后主动调用");
4、实现ApplicationRunner接口
/**java我的项目www fhadmin org
- 用于批示bean蕴含在SpringApplication中时应运行的接口。能够定义多个applicationrunner bean
- 在同一应用程序上下文中,能够应用有序接口或@order正文对其进行排序。
*/
@Override
public void run(ApplicationArguments args) throws Exception {
System.out.println("ApplicationRunner的run办法");
5、实现CommandLineRunner接口
/**
- 用于批示bean蕴含在SpringApplication中时应运行的接口。能够在同一应用程序上下文中定义多个commandlinerunner bean,并且能够应用有序接口或@order正文对其进行排序。
- 如果须要拜访applicationArguments而不是原始字符串数组,请思考应用applicationrunner。
- java我的项目
*/
@Override
public void run(String... ) throws Exception {
System.out.println("CommandLineRunner的run办法");
}