웹/Java

자동으로 실행되는 WebListener 어노테이션

임풀 2019. 10. 24. 12:02
반응형

sql 파일을 실행해서 데이터베이스를 초기화 해주었다.

package next.support.context;
 
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;
 
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.io.ClassPathResource;
import org.springframework.jdbc.datasource.init.DatabasePopulatorUtils;
import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator;
 
import core.jdbc.ConnectionManager;
 
@WebListener
public class ContextLoaderListener implements ServletContextListener {
    private static final Logger logger = LoggerFactory.getLogger(ContextLoaderListener.class);
 
    @Override
    public void contextInitialized(ServletContextEvent sce) {
        
        ResourceDatabasePopulator populator = new ResourceDatabasePopulator();
        populator.addScript(new ClassPathResource("jwp.sql"));
        DatabasePopulatorUtils.execute(populator, ConnectionManager.getDataSource());
 
        logger.info("Completed Load ServletContext!");
    }
 
    @Override
    public void contextDestroyed(ServletContextEvent sce) {
    }
}
 
 

WebListener 어노테이션을 사용하기 위해서는 서블릿 라이브러리를 추가해줘야한다.

다음 maven dependency를 추가해준다.

<dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>

 

반응형