>Java >java지도 시간 >SpringBoot 2를 사용하고 Listener를 빠르게 통합하세요.

SpringBoot 2를 사용하고 Listener를 빠르게 통합하세요.

(*-*)浩
(*-*)浩앞으로
2019-10-10 16:20:542401검색

이 글은 주로 SpringBoot 2에서 Listener를 사용하는 방법에 대한 빠른 설정 튜토리얼을 소개합니다. 읽기 전에 Listener의 기본 사용법과 SpringBoot 프로젝트 빌드 방법을 이해해야 합니다.

SpringBoot 2를 사용하고 Listener를 빠르게 통합하세요.

빠른 데모 작업

1단계: 리스너를 작성하고 리스너 클래스에 @WebListener 주석을 선언합니다. 구체적인 코드는 다음과 같습니다.

@WebListener
public class ApplicationListener implements ServletContextListener{
	private Logger log = LoggerFactory.getLogger(ApplicationListener.class);
	
	@Override
	public void contextInitialized(ServletContextEvent sce) {
		log.info("ApplicationListener 监听器启动...");
	}
	@Override
	public void contextDestroyed(ServletContextEvent sce) {
		log.info("ApplicationListener 监听器销毁...");
	}
}

2단계: 작성된 ApplicationListener 클래스를 JavaConfig를 통해 Spring 컨텍스트에 삽입합니다.

사용자 정의 ApplicationListener를 ServletListenerRegistrationBean 구성에 전달한 다음 ServletListenerRegistrationBean Bean 인스턴스를 생성합니다.

@Configuration
public class WebApplicationConfig {
	@Bean
	public ServletListenerRegistrationBean<ApplicationListener>  userServlet(){
		return new ServletListenerRegistrationBean<ApplicationListener> (new ApplicationListener());
	}
}

또는 시작 클래스에서 @ServletComponentScan 주석을 선언합니다.

@SpringBootApplication
@ServletComponentScan
public class SpringbootExamplesApplication {

	public static void main(String[] args) {
		SpringApplication.run(SpringbootExamplesApplication.class, args);
	}
}

Test

Startup SpirngBoot 프로젝트는 ApplicationListener에 정의된 ApplicationListener 리스너 파괴... 로그 정보를 확인합니다.

2019-10-04 00:58:39.361  INFO 5184 --- [  restartedMain] o.s.b.w.servlet.ServletRegistrationBean  : Servlet dispatcherServlet mapped to [/]
2019-10-04 00:58:39.375  INFO 5184 --- [  restartedMain] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: &#39;characterEncodingFilter&#39; to: [/*]
2019-10-04 00:58:39.376  INFO 5184 --- [  restartedMain] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: &#39;hiddenHttpMethodFilter&#39; to: [/*]
2019-10-04 00:58:39.376  INFO 5184 --- [  restartedMain] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: &#39;formContentFilter&#39; to: [/*]
2019-10-04 00:58:39.377  INFO 5184 --- [  restartedMain] o.s.b.w.servlet.FilterRegistrationBean   : Mapping filter: &#39;requestContextFilter&#39; to: [/*]
2019-10-04 00:58:39.420  INFO 5184 --- [  restartedMain] c.lijunkui.listener.ApplicationListener  : ApplicationListener 监听器启动...

여기서 시작 상태에서 프로젝트를 시작하면 오류가 발생하지만 폐기를 위해 ApplicationListener에 정의된 로그 정보 출력을 볼 수 있습니다.

Caused by: java.net.BindException: Address already in use: bind
	at sun.nio.ch.Net.bind0(Native Method) ~[na:1.8.0_144]
	at sun.nio.ch.Net.bind(Net.java:433) ~[na:1.8.0_144]
	at sun.nio.ch.Net.bind(Net.java:425) ~[na:1.8.0_144]
	at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223) ~[na:1.8.0_144]
	at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) ~[na:1.8.0_144]
	at org.apache.tomcat.util.net.NioEndpoint.initServerSocket(NioEndpoint.java:236) ~[tomcat-embed-core-9.0.12.jar:9.0.12]
	at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:210) ~[tomcat-embed-core-9.0.12.jar:9.0.12]
	at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1108) ~[tomcat-embed-core-9.0.12.jar:9.0.12]
	at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:550) ~[tomcat-embed-core-9.0.12.jar:9.0.12]
	at org.apache.catalina.connector.Connector.startInternal(Connector.java:957) ~[tomcat-embed-core-9.0.12.jar:9.0.12]
	... 19 common frames omitted

2019-10-04 01:01:07.860  INFO 7864 --- [  restartedMain] o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
2019-10-04 01:01:07.863  INFO 7864 --- [  restartedMain] c.lijunkui.listener.ApplicationListener  : ApplicationListener 监听器销毁...
2019-10-04 01:01:07.876  INFO 7864 --- [  restartedMain] ConditionEvaluationReportLoggingListener :

요약

SpringBoot의 리스너 단계 무결성:

Listener@Weblistener

에서 선언하여 @ServletcomComponentscan 카테고리에서 선언하거나 ServletListenerRegistration Onfig를 통해

Listener를 패키징해야 합니다.

방법은 이는 Spring 컨텍스트에 주입됩니다.

코드 예

내 로컬 환경은 다음과 같습니다.

SpringBoot 버전: 2.1.0.RELEASE

Apache Maven 버전: 3.6.0

Java 버전: 1.8.0_144

IDEA: 도구 스위트 (STS)🎜

위 내용은 SpringBoot 2를 사용하고 Listener를 빠르게 통합하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제