在spring boot项目中我们有时候会需要提前加载一些数据或者方法,以下几种方法可以实现。
- 实现ServletContextListener接口
package com.example.util; import org.springframework.stereotype.Component; import org.springframework.web.context.ServletContextAware; import javax.servlet.ServletContext; @Component public class TestStart2 implements ServletContextAware { /** * 在填充普通bean属性之后但在初始化之前调用 * 类似于initializingbean的afterpropertiesset或自定义init方法的回调 * */ @Override public void setServletContext(ServletContext servletContext) { System.out.println("TestStart2-----"); } }
- 实现ServletContextAware接口
package com.example.util; import org.springframework.stereotype.Component; import org.springframework.web.context.ServletContextAware; import javax.servlet.ServletContext; @Component public class TestStart2 implements ServletContextAware { /** * 在填充普通bean属性之后但在初始化之前调用 * 类似于initializingbean的afterpropertiesset或自定义init方法的回调 * */ @Override public void setServletContext(ServletContext servletContext) { System.out.println("TestStart2-----"); } }
注意:该方法会在填充完bean的属性,但是还没有进行bean的初始化之前执行