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

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

(*-*)浩
풀어 주다: 2019-10-10 16:20:54
앞으로
2393명이 탐색했습니다.

이 글은 주로 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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿