<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的方法可以是public,protected,package 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 閱讀(319) 評論(0)  編輯  收藏 所屬分類: spring
    <2020年4月>
    2930311234
    567891011
    12131415161718
    19202122232425
    262728293012
    3456789

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    收藏夾

    Java

    搜索

    •  

    最新隨筆

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 在线观看亚洲电影| 亚洲成av人无码亚洲成av人| 男女一边桶一边摸一边脱视频免费| 免费看美女让人桶尿口| 亚洲jjzzjjzz在线观看| 黄页网站免费在线观看| 亚洲一卡二卡三卡四卡无卡麻豆 | 亚洲精品乱码久久久久久久久久久久 | 在线看片无码永久免费aⅴ| 亚洲午夜无码久久久久小说 | 日本黄网站动漫视频免费| 亚洲视频在线免费看| 黄页网站免费观看| 亚洲欧美日韩一区二区三区 | 日韩免费毛片视频| 免费无遮挡无码视频在线观看 | 久久99久久成人免费播放| 在线a亚洲v天堂网2019无码| 日本道免费精品一区二区| 亚洲看片无码在线视频| 免费在线观看的网站| 亚洲精品美女久久7777777| 国产成人涩涩涩视频在线观看免费| 国产精品手机在线亚洲| 亚洲日韩中文在线精品第一| 久久精品国产影库免费看| 亚洲伊人久久大香线蕉| 国产成人在线免费观看| 国产精品免费大片一区二区| 亚洲制服中文字幕第一区| 成人A级毛片免费观看AV网站| 男人免费视频一区二区在线观看| 久久久久亚洲Av片无码v| 97无码免费人妻超级碰碰碰碰| 美女免费视频一区二区三区| 最近高清中文字幕无吗免费看| 亚洲精品欧美综合四区| 日韩va亚洲va欧洲va国产| 无码国产精品一区二区免费I6| 又黄又大的激情视频在线观看免费视频社区在线 | 亚洲精品视频免费看|