스프링 부트를 사용하여 전쟁으로 웹 앱을 개발하는 경우 주요 방법이 필요한 이유는 무엇입니까?
저는 Spring Boot을 이용하여 웹 앱을 개발하고 있습니다.일반적인 배포 환경은war그리고 그것을 배치합니다.webappsTomcat 디렉토리에 있는 폴더.
SpringBoot를 사용하여 확인했습니다. 필요할 것 같습니다.main방법.저는 이것이 왜 필요한지 궁금합니다.만약 그것을 피할 방법이 있다면, 그것은 무엇입니까?
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
}
전쟁을 일으켜 Tomcat의 webapps 폴더에 배치하는 일반적인 배치 시나리오에는 주 방법이 필요하지 않습니다.필요한 것은 다음과 같습니다.
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
}
그러나 IDE 내에서 앱을 실행할 수 있도록 하려면(예: Eclipse의 Run As -> Java Application) Spring Boot의 내장된 Tomcat으로 독립적으로 실행할 수 있는 실행 가능한 jar 또는 war를 개발하거나 구축해야 합니다.java -jar myapp.war명령, 주 메서드가 있는 진입점 클래스가 도움이 될 수 있습니다.
별도의 웹 컨테이너에서 실행하려면 다음과 같이 하십시오.
주요 방법은 필요 없습니다. 확장만 하면 됩니다.SpringBootServletInitializer크리거가 언급한 것처럼.
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
....
....
명령줄에서 독립 실행형 응용 프로그램으로 실행하려면 다음과 같이 하십시오.
여기서는 주요 방법이 필요합니다. 따라서 다음을 사용하여 실행할 수 있습니다.java -jar명령행에서.
public class Application {
public static void main(String[] args){
ConfigurableApplicationContext context = SpringApplication.run(Application.class, args);
}
....
....
출처: https://spring.io/guides/gs/convert-jar-to-war/
Spring Boot에서는 기본적으로 세 가지가 필요합니다.
@SpringBootApplication 주석 사용
SpringBoot Servlet 확장이니셜라이저
위에 표시된 대로 구성 방법을 덮어씁니다.
그리고 그게 다야!
언급URL : https://stackoverflow.com/questions/29782148/why-do-i-need-main-method-if-i-develop-web-app-as-war-using-spring-boot
'programing' 카테고리의 다른 글
| 가져오기 오류: bs4(BeautifulSoup)라는 모듈이 없습니다. (0) | 2023.07.01 |
|---|---|
| Vuex에서 (객체의 소품이 아닌) 단일 계산 소품으로 모듈 상태 소품을 가져오는 방법은? (0) | 2023.07.01 |
| 오류 코드 11000과 11001 사이의 MongoDB 차이 (0) | 2023.07.01 |
| 추상수업을 위해 봄부츠에서 @Bean을 사용하여 Bean을 만드는 방법 (0) | 2023.06.26 |
| Git에서 특정 사용자의 커밋을 찾는 방법은 무엇입니까? (0) | 2023.06.26 |