springbootUtil クラスを作成して springboot コンテキストを取得し、springboot コンテキストで Bean を取得し、Bean で特定のビジネス ロジックを実行します。 SpringBootUtil.java package springBootPlugin; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; @Component public class SpringBootUtil implements ApplicationContextAware{ private static ApplicationContext applicationContext; @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { if(SpringBootUtil.applicationContext == null) { SpringBootUtil.applicationContext = applicationContext; } } //アプリケーションコンテキストの取得 public static ApplicationContext getApplicationContext() { return applicationContext; } //Bean を名前で取得します。 public static Object getBean(String name){ return getApplicationContext().getBean(name); } //クラスごとにBeanを取得します。 public static <T> T getBean(Class<T> clazz){ return getApplicationContext().getBean(clazz); } //指定された Bean を名前と Clazz で返します。 public static <T> T getBean(String name,Class<T> clazz){ return getApplicationContext().getBean(name, clazz); } } あらゆるビジネス ロジックを処理できる単純なスレッド クラスを作成する。 ProjectRealTask.java package springBootPlugin; import org.springframework.stereotype.Component; @Component public class ProjectRealTask implements Runnable { @Override public void run() { System.out.println("test ProjectRealTask"); } } メインの呼び出しクラスを作成し、呼び出しクラスの springbootUtil で Bean を取得し、Bean 内でビジネス ロジックを実行することで、ビジネス ロジックのプラグイン管理を実現します。 ProjectThread.java package springBootPlugin; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Component; @Component public class ProjectThread { //ここでは、いくつかの Bean、サードパーティのビジネス ロジック、またはプラグインを呼び出す必要があります。 public void runThreadTaskLogic(){ //スレッドプールを作成する ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor(); taskExecutor.setCorePoolSize(10); taskExecutor.setMaxPoolSize(10); taskExecutor.setQueueCapacity(100); taskExecutor.setThreadNamePrefix("TestExecute_"); taskExecutor.initialize(); //クラス名でBeanを取得します ProjectRealTask realTask = SpringBootUtil.getBean(ProjectRealTask.class); //具体的な Bean の操作 taskExecutor.submit(realTask); } } この方法は、マルチタスクおよびマルチスレッド処理のビジネス ロジック シナリオに非常に適しており、Bean の管理がより柔軟で便利になります。 文章导航 Google Protostuff を使用してファイルをシリアル化し、読み書きします, 速度は非常に高速です。 Linux 上で文字列を再帰的に検索し、バッチで置換し、URL 置換をサポートします。