1. J2EE项目
在Servlet类中重写init()
方法,这个方法会在Servlet实例化时调用,即项目启动时调用。
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
public class MyServlet extends HttpServlet {
@Override
public void init() throws ServletException {
super.init();
// 在项目启动时执行的代码
System.out.println("Servlet 初始化时执行的代码");
}
}
配置web.xml
在web.xml
文件中配置Servlet,以确保它在项目启动时加载。
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>com.example.MyServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<load-on-startup>
元素的值为1,表示Servlet将在项目启动时加载。
2. Spring框架,使用@PostConstruct
注解
import javax.annotation.PostConstruct;
import org.springframework.stereotype.Component;
@Component
public class MyComponent {
@PostConstruct
public void init() {
// 在项目启动时执行的代码
System.out.println("Spring @PostConstruct 初始化时执行的代码");
}
}
3. Spring框架,使用ApplicationListener接口
Spring的ApplicationListener
接口允许我们监听Spring应用上下文的启动事件,从而在项目启动时执行代码。
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.stereotype.Component;
@Component
public class MyApplicationListener implements ApplicationListener<ContextRefreshedEvent> {
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
// 在项目启动时执行的代码
System.out.println("Spring ApplicationListener 初始化时执行的代码");
}
}
4. Spring框架,实现CommandLineRunner或ApplicationRunner接口
实现CommandLineRunner
接口,并重写run
方法。
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
@Component
public class MyCommandLineRunner implements CommandLineRunner {
@Override
public void run(String... args) throws Exception {
// 在项目启动时执行的代码
System.out.println("Spring CommandLineRunner 初始化时执行的代码");
}
}
实现ApplicationRunner
接口,并重写run
方法。
import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.ApplicationArguments;
import org.springframework.stereotype.Component;
@Component
public class MyApplicationRunner implements ApplicationRunner {
@Override
public void run(ApplicationArguments args) throws Exception {
// 在项目启动时执行的代码
System.out.println("Spring ApplicationRunner 初始化时执行的代码");
}
}