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办法");

}