때로는 스프링 부팅 컨테이너가 시작되고로드 된 후 무언가를하기 위해 스레드 나 프로그램을 열어야합니다. 현재로서는 Contextrefreshedevent 이벤트를 구성하여 원하는 일을 달성해야합니다.
1. ApplicationStartup 클래스
Public Class ApplicationStartup은 ApplicationListener <ContexTrefreshedEvent> {public void onapplicationEvent (ContexTrefreshedEvent 이벤트) {// 컨테이너가로드 된 후 DAO 레이어를 가져와 데이터베이스 OSSVIDEOROTION OSSVIDEOROITORITION = (ossvideOritority) event.getApplicationContext (). getBean (ossvideorepository.class); // 컨테이너가로드 된 후 구성 파일 ServerConfig = (ServerConfig) event.getApplicationContext (). getBean (ServerConfig.class)에서 getConfig; ServerFilescanner FileScanner = New ServerFilescanner (OssvideOrository, ServerConfig.getScanPath ()); // 컨테이너가로드 된 후 스레드를 시작합니다. 스레드 스레드 = 새 스레드 (FileScanner); thread.start (); }}2. ServerConfig 클래스
@component@configurationProperties (prefix = "server") public class serverConfig {private String aliyUnossendPoint; 개인 문자열 aliyunossaccesskeyid; 개인 문자열 aliyunossaccesskeysecret; 개인 문자열 aliyunossbucketname; 개인 문자열 scanpath; 공개 문자열 getAliyUnossendPoint () {return aliyUnossendPoint; } public void setaliyunossendpoint (String aliyunossendpoint) {this.aliyunossendpoint = aliyunossendpoint; } public String getAliyUnossAccessKeyId () {return aliyUnossaccessKeyId; } public void setaliyunossaccesskeyid (String aliyunossaccesskeyid) {this.aliyunossaccesskeyid = aliyunossaccesskeyid; } public String getAliyUnossAccessKeysEcret () {return aliyUnossAccessKeysEcret; } public void setaliyunossaccesskeysecret (String aliyunossaccesskeysecret) {this.aliyunossaccesskeysecret = aliyunossaccesskeysecret; } public String getAliyUnossBucketName () {return aliyUnossBucketName; } public void setaliyunossbucketName (String aliyunossbucketName) {this.AliyUnossBucketName = aliyunossbucketName; } public String getScanpath () {return scanpath; } public void setaliyunossbucketName (String aliyunossbucketName) {this.AliyUnossBucketName = aliyunossbucketName; } public String getScanpath () {return scanpath; } public void setscanpath (String scanpath) {this.scanpath = scanpath; }}추신 : 봄에 내장 된 이벤트도 있습니다
1. ContexTrefreshedEvent :이 이벤트는 ApplicationContext 컨테이너가 초기화되거나 새로 고침 될 때 트리거됩니다.
2. ContextStartEdevent :이 이벤트는 ConfigurableApplicationContext 인터페이스의 start () 메소드를 사용하여 ApplicationContext 컨테이너가 시작되면 트리거됩니다.
3. ContextClosedEvent :이 이벤트는 configurablepplicationContext 인터페이스의 Close () 메소드를 사용하여 ApplicationContext 컨테이너가 닫히면 트리거됩니다.
4. ContextStopedEvent : ConfigurableApplicationContext 인터페이스의 stop () 메소드가 ApplicationContext 컨테이너를 중지하는 데 사용될 때이 이벤트가 트리거됩니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.