最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot項(xiàng)目啟動(dòng)時(shí)執(zhí)行指定的方法

 更新時(shí)間:2025年08月07日 10:41:20   作者:濤哥是個(gè)大帥比  
本文介紹了在SpringBoot項(xiàng)目中通過(guò)@PostConstruct注解和實(shí)現(xiàn)CommandLineRunner接口來(lái)在啟動(dòng)時(shí)執(zhí)行方法,具有一定的參考價(jià)值,感興趣的可以了解一下

項(xiàng)目場(chǎng)景:

本文介紹Spring Boot項(xiàng)目啟動(dòng)時(shí)執(zhí)行指定的方法兩種常用方式和他們之間的區(qū)別。

實(shí)現(xiàn)方案:

方式一:使用注解@PostConstruct

@Component
public class PostConstructTest {
    @PostConstruct
    public void postConstruct() {
		System.out.println("啟動(dòng)時(shí)自動(dòng)執(zhí)行  @PostConstruct 注解方法");
    }
}

優(yōu)點(diǎn): 簡(jiǎn)單方便,加上一個(gè)注解就行了。

缺點(diǎn):如果@PostConstruct方法內(nèi)的邏輯處理時(shí)間較長(zhǎng),就會(huì)增加SpringBoot應(yīng)用初始化Bean的時(shí)間,進(jìn)而增加應(yīng)用啟動(dòng)的時(shí)間。因?yàn)橹挥性贐ean初始化完成后,SpringBoot應(yīng)用才會(huì)打開端口提供服務(wù),所以在此之前,應(yīng)用不可訪問(wèn)。

建議:輕量的邏輯可放在Bean的@PostConstruct方法中,耗時(shí)長(zhǎng)的邏輯如果放在@PostConstruct方法中,可使用@Async異步方法。

使用異步代碼示例:

@Service
public class TestService {
 
    @Async("testAsync")  //指定線程池
    public void test() {
        System.out.println("------------------------異步方法開始 " + Thread.currentThread().getName());
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("----------------異步方法執(zhí)行完了" + Thread.currentThread().getName());
    }
}
@Component
public class PostConstructTest {

	@Autowired
    private TestService testService;
	
    @PostConstruct
    public void postConstruct() {
		System.out.println("啟動(dòng)時(shí)自動(dòng)執(zhí)行  @PostConstruct 注解方法");
		testService.test();
    }
}

Spring Boot中多個(gè)PostConstruct注解執(zhí)行順序控制

方式二:實(shí)現(xiàn)CommandLineRunner接口

@Component
public class CommandLineRunnerImpl implements CommandLineRunner {

    @Override
    public void run(String... args) throws Exception {
		System.out.println("啟動(dòng)時(shí)自動(dòng)執(zhí)行 CommandLineRunner 的 run 方法");
    }
}

優(yōu)點(diǎn): 項(xiàng)目已經(jīng)初始化完畢,才會(huì)執(zhí)行方法,所以不用等這個(gè)方法執(zhí)行完,就可以正常提供服務(wù)了。

缺點(diǎn):暫未發(fā)現(xiàn)。

到此這篇關(guān)于SpringBoot項(xiàng)目啟動(dòng)時(shí)執(zhí)行指定的方法的文章就介紹到這了,更多相關(guān)SpringBoot項(xiàng)目啟動(dòng)時(shí)執(zhí)行指定內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

略阳县| 西充县| 萍乡市| 蒙阴县| 蒙阴县| 麦盖提县| 桦南县| 达日县| 郎溪县| 达尔| 涿州市| 晋宁县| 汝南县| 岚皋县| 承德市| 灵丘县| 泰宁县| 定边县| 湛江市| 三都| 喀喇沁旗| 台湾省| 陆川县| 汝南县| 新邵县| 老河口市| 仙游县| 资兴市| 浦城县| 武邑县| 崇信县| 大埔县| 孝昌县| 丰都县| 内丘县| 内黄县| 阳原县| 吉安县| 盐津县| 安远县| 日照市|