복붙노트

[SPRING] Spring MVC를 사용하여 애플리케이션 시작시 Java 클래스 실행 [duplicate]

SPRING

Spring MVC를 사용하여 애플리케이션 시작시 Java 클래스 실행 [duplicate]

Spring MVC를 사용하여 애플리케이션을 시작할 때 Java 클래스를 실행하는 가장 좋은 방법은 무엇입니까?

해결법

  1. ==============================

    1.반드시 "최상의"방법은 아닙니다. 늘 그렇듯이, 할 수있는 방법이 많이 있으며, "최선"은 프로젝트에 가장 적합합니다.

    반드시 "최상의"방법은 아닙니다. 늘 그렇듯이, 할 수있는 방법이 많이 있으며, "최선"은 프로젝트에 가장 적합합니다.

  2. ==============================

    2.시작시 컨텍스트가로드되었다고 가정하면 XML 구성에서 명시 적으로 호출 된 init 메서드로 Spring 응용 프로그램 컨텍스트에서 Bean을 만들거나 Spring InitializingBean을 구현합니다. 게으른 로딩을 사용하도록 설정 한 경우이 빈이 게으르지 않은지 확인해야합니다.

    시작시 컨텍스트가로드되었다고 가정하면 XML 구성에서 명시 적으로 호출 된 init 메서드로 Spring 응용 프로그램 컨텍스트에서 Bean을 만들거나 Spring InitializingBean을 구현합니다. 게으른 로딩을 사용하도록 설정 한 경우이 빈이 게으르지 않은지 확인해야합니다.

    <bean name="starter" init-method="start" class="com.my.StarterBean" lazy="false" />
    

    (문서의 매개 변수를 다시 확인하십시오).

    시작시 컨텍스트가로드되지 않으면 서버 컨텍스트 수신기 (Spring이 아닌 Servlet API의 일부)를 등록 할 수 있습니다.

  3. ==============================

    3.두 가지 구현을 사용할 수 있습니다.

    두 가지 구현을 사용할 수 있습니다.

    1) 인터페이스 InitializingBean을 구현하십시오. 이 접근법은 모든 bean을로드 한 다음 afterPropertiesSet 메소드를 호출한다.

        @Override
        public void afterPropertiesSet() throws Exception {
            init();
        }
    

    2) JSR-250의 주석 @PostConstruct 사용. 이 방법은 스프링 빈이로드 될 때까지 기다리지 않습니다.

       @PostConstruct
        public void init() {
    
        }
    
  4. from https://stackoverflow.com/questions/6684451/executing-a-java-class-at-application-startup-using-spring-mvc by cc-by-sa and MIT license