Parfois, nous devons ouvrir certains threads ou programmes pour faire quelque chose après le démarrage et le chargement du conteneur de démarrage de Spring. Pour le moment, nous devons configurer l'événement ContextreFreshEdEvent pour réaliser ce que nous voulons faire
1. Classe d'applicationstartup
classe publique ApplicationStartup implémente ApplicationListener <ContexTreFreshEdEvent> {public void onApplicationEvent (contextreFreshEdEvent Event) {// Une fois le conteneur chargé, obtenez la couche DAO = (OssvideOrepository) event.getApplicationContext (). GetBean (ossvideOrepository.class); // Une fois le conteneur chargé, getConfig dans le fichier de configuration serverconfig = (serverconfig) event.getApplicationContext (). Getbean (serverconfig.class); ServerFileScanner FileScanner = new ServerFileScanner (OSSVIDEOREPOSITORY, ServerConfig.getScanPath ()); // Démarrez le thread après que le récipient est chargé thread Thread = nouveau thread (FileScanner); thread.start (); }}2. CLASSE DE SERVERCONFIG
@ Composant @ configurationProperties (prefix = "server") public class serverconfig {private String aliyunSendPoint; chaîne privée AliyunossAccessKeyid; chaîne privée AliyunossAccessKeySecret; chaîne privée AliyunossBucketName; Private String ScanPath; String public getALiyUnSendPoint () {return AliyunSendPoint; } public void setaliyunSendpoint (String aliyunSendPoint) {this.aliyunSendpoint = aliyunSendPoint; } String public getaliyunossaccessKeyId () {return aliyunossaccessKeyId; } public void SetaliyunossAccessKeyId (String AliyunossAccessKeyId) {this.aliyunossaccessKeyId = AliyunossAccessKeyId; } String public getaliyunossaccessKeySecret () {return aliyunossAccessKeySecret; } public void SetaliyunossAccessKeySecret (String AliyunossAccessKeySecret) {this.aliyunossaccessKeySecret = AliyunossAccessKeySecret; } String public 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; }}PS: Il y a aussi des événements intégrés au printemps
1. CONTEXTREFRESHEDEVENT: Cet événement est déclenché lorsque le conteneur ApplicationContext est initialisé ou actualisé.
2. ContextStarTevent: Cet événement est déclenché lorsque le conteneur ApplicationContext est démarré à l'aide de la méthode start () de l'interface ConfigurableApplicationContex.
3. ContextClosedEvent: Cet événement est déclenché lorsque le conteneur ApplicationContext est fermé à l'aide de la méthode Close () de l'interface ConfigurableApplicationContext.
4. ContextStopeDevent: Cet événement est déclenché lorsque la méthode stop () de l'interface configurableApplicationContex est utilisée pour arrêter le conteneur ApplicationContext.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.