<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 93,  comments - 2,  trackbacks - 0
    @PostConstruct
    PostConstruct注釋用于在完成依賴項注入以執行任何初始化之后需要執行的方法。必須在類投入使用之前調用此方法。
    所有支持依賴注入的類都必須支持此注釋。即使類沒有請求注入任何資源,也必須調用使用PostConstruct注釋的方法。
    只有一個方法可以使用此批注進行批注。
    應用PostConstruct注釋的方法必須滿足以下所有條件:除了攔截器之外,方法絕不能有任何參數,在這種情況下它采用Interceptor規范定義的InvocationContext對象。
    在攔截器類上定義的方法必須具有以下簽名之一:
    void <METHOD>(InvocationContext)Object <METHOD>(InvocationContext)拋出異常注意:
    PostConstruct攔截器方法不能拋出應用程序異常,但可以聲明它拋出檢查異常,包括java.lang.Exception,
    如果相同的攔截器方法除了生命周期事件之外插入業務或超時方法。
    如果PostConstruct攔截器方法返回一個值,容器將忽略它。
    在非攔截器類上定義的方法必須具有以下簽名:void <METHOD>()應用PostConstruct的方法可以是publicprotectedpackage privateprivate。
    除應用程序客戶端外,該方法絕不能是靜態的。
    該方法可能是最終的。如果該方法拋出一個未經檢查的異常,那么該類絕不能投入使用,除非EJB可以處理異常甚至從它們恢復的EJB

    然后就會思考問題,這個注釋是修飾初始化之后需要執行的方法,那么它和@Autowired、構造函數的執行順序是什么呢?(當然注釋中已經說明了PostConstruct注釋用于在完成依賴項注入之后)
    @Service
    public class BeanA {

        @Autowired
        private BeanB beanB;

        public BeanA() {
            System.out.println("這是Bean A 的構造方法");
        }
        @PostConstruct
        private void init() {
            System.out.println("這是BeanA的 init 方法");
            beanB.testB();
        }
    }
    @Service
    public class BeanB {

        @PostConstruct
        private void init() {
            System.out.println("這是BeanB 的init 方法");
        }
        public BeanB() {
            System.out.println("這是Bean B的 構造方法");
        }
        void testB() {
            System.out.println("這是Bean B 的 testB 方法");
        }
    }

    啟動后輸出:
    這是Bean A 的構造方法 
    這是Bean B的 構造方法
    這是BeanB 的init 方法
    這是BeanA的 init 方法
    這是Bean B 的 testB 方法

    所以得到結論: 構造方法 > @Autowired > @PostConstruct
    posted on 2020-04-09 15:29 Terry Zou 閱讀(308) 評論(0)  編輯  收藏 所屬分類: spring
    <2020年4月>
    2930311234
    567891011
    12131415161718
    19202122232425
    262728293012
    3456789

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    收藏夾

    Java

    搜索

    •  

    最新隨筆

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲无码视频在线| 亚洲成a人片在线观看国产| 亚洲av无码成h人动漫无遮挡| 春暖花开亚洲性无区一区二区| 免费精品国产日韩热久久| 99亚洲精品高清一二区| 亚洲免费精彩视频在线观看| 亚洲高清在线播放| 人妻无码一区二区三区免费 | jzzjzz免费观看大片免费| 亚洲A∨精品一区二区三区| 亚洲变态另类一区二区三区| 在线观着免费观看国产黄| 中美日韩在线网免费毛片视频 | 亚洲视频精品在线观看| 精品女同一区二区三区免费站| 久久久久亚洲av无码专区喷水 | 国产午夜鲁丝片AV无码免费| 九九全国免费视频| 亚洲妇熟XXXX妇色黄| 黄页免费的网站勿入免费直接进入| 亚洲人成77777在线播放网站不卡 亚洲人成77777在线观看网 | 亚洲日韩在线观看免费视频| 亚洲AV日韩AV天堂久久| 最近免费中文字幕大全视频| 男女男精品网站免费观看| 亚洲av无码乱码国产精品 | 亚洲成在人线在线播放无码| 免费国产美女爽到喷出水来视频| 国产高清对白在线观看免费91| 亚洲综合激情视频| 亚洲一区二区三区国产精品| 在线免费观看亚洲| 又长又大又粗又硬3p免费视频| 亚洲韩国—中文字幕| 亚洲国产人成中文幕一级二级| 日韩插啊免费视频在线观看| 曰批免费视频播放在线看片二| 91亚洲导航深夜福利| 亚洲精品中文字幕乱码三区| 性感美女视频在线观看免费精品|