@PostConstruct注解详解
创始人
2025-05-31 06:32:17

初始化方式一:@PostConstruct注解

假设类UserController有个成员变量UserService被@Autowired修饰,那么UserService的注入是在UserController的构造方法之后执行的。

如果想在UserController对象生成时候完成某些初始化操作,而偏偏这些初始化操作又依赖于依赖注入的对象,那么就无法在构造函数中实现(ps:spring启动时初始化异常),例如:

public class UserController {@Autowiredprivate UserService userService;public UserController() {// 调用userService的自定义初始化方法,此时userService为null,报错userService.userServiceInit();}
}

因此,可以使用@PostConstruct注解来完成初始化,@PostConstruct注解的方法将会在UserService注入完成后被自动调用。

public class UserController {@Autowiredprivate UserService userService;public UserController() {}// 初始化方法@PostConstructpublic void init(){userService.userServiceInit();}
}

总结:类初始化调用顺序:

(1)构造方法Constructor

(2)@Autowired

(3)@PostConstruct

初始化方式二:实现InitializingBean接口

除了采用注解完成初始化,也可以通过实现InitializingBean完成类的初始化

public class UserController implements InitializingBean {@Autowiredprivate UserService userService;public UserController() {}// 初始化方法@Overridepublic void afterPropertiesSet() throws Exception {userService.userServiceInit();}
}

比较常见的如SqlSessionFactoryBean,它就是通过实现InitializingBean完成初始化的。

@Override
public void afterPropertiesSet() throws Exception {// buildSqlSessionFactory()是完成初始化的核心方法,必须在构造方法调用后执行this.sqlSessionFactory = buildSqlSessionFactory(); 
}

相关内容

热门资讯

连续3日获资金净流入,港股创新... 6月18日,港股通创新药指数盘初翻红,截至发稿涨0.68%。相关ETF中,港股创新药ETF(1595...
瑞银:中国房主近半已陷入亏损 ... 有多少资讯是真正有用的?FinGraph是中文财经世界唯一一家每日图形化早晚专栏,为专注于全球市场的...
陆家嘴论坛刚刚开幕,沪港两地就... 陆家嘴论坛开幕之际,在同一个场地沪港两地今天共同举行发布会,签署《沪港国际金融中心协同发展行动方案》...
恒生指数开盘跌0.5%,恒生科... 6月18日,恒生指数开盘跌0.5%,恒生科技指数跌0.58%。科创实业跌超2%领跌蓝筹。新濠国际发展...
500亩土豆可以不要钱,但咱们... 500亩土豆算什么,能有一个地方的脸面重要?最近,曾先生在安徽宿州种了500亩土豆,明明可以收了却被...
罗马仕充电宝敲响的警钟 罗马仕... 文丨李水秀编辑丨百进来源丨新商悟(本文约为1500字)“鼓包是内部化学反应失控的前兆,如同定时炸弹。...
滚动更新丨三大股指集体低开,油... (持续更新中……)09:26 A股开盘|三大股指集体低开 油气、航运走强三大股指集体低开,沪指跌0....
网络治理||李文冰:强化网络公... 互联网平台成为社会不可或缺的公共基础设施,人类社会向深度媒介化、平台化方向发展。原属于政府的公共权力...
2025陆家嘴论坛今日开幕,若... 重要消息 2025陆家嘴论坛今日(6月18日)开幕,若干重大金融政策将发布; 华为、中芯国际进台湾实...
喜马拉雅忙碌4年身价跌逾1/3... 羊城晚报全媒体记者 王丹阳 俗话说,世上武功,唯快不破。但在互联网科技的浪潮中,走得快远不如走得稳。...
和讯投顾刘文博:A股缩量成交1... 弱势震荡,盘面10分凌乱,30天盘整后市何去何从?6月17号A股收盘了,和讯投顾刘文博分析,昨天市场...
摩根大通将推存款代币JPMD ... 财联社6月18日讯(编辑 史正丞)昨夜今晨,由于担忧中东冲突进一步升级,欧美交易时段主要股指全部收跌...
印发快、落地慢,面对“医疗服务... 印发快、落地慢,面对“医疗服务价格改革”,医院忧虑重重。一方面,快速印发的改革文件虽明确了方向,但具...
中信证券:需求和供给多因素拉动... 中信证券研报表示,近日,国家电投2025年第二批陆上风电机组规模化采购开标,本次竞标除标段5、6外,...
长城旗下公司毫末智行人事动荡,... 文 | 李安琪编辑 | 李勤 杨轩36氪汽车独家获悉,长城汽车孵化的辅助驾驶公司毫末智行正经历高层人...
谁是下一个资产证券化赛道的领先... ABS管理机构呈现明显的分化。头部集中:中信证券和中金公司占据主导。文/每日财报 徐鹏2025年...
*ST广道一字跌停!保荐人五矿... 6月17日,深圳市广道数字技术股份有限公司(下称“*ST广道”)复牌,开盘“一字跌停”,收跌29.9...
五粮液再亮剑!围剿261家假店... 五粮液强调,从未向市场销售过“光瓶第八代五粮液”产品,请消费者谨慎购买。6月17日,五粮液官网发布《...
这个神秘指标,决定了你的AI产... 在 AI 领域,存在着一个神秘指标,它宛如一把双刃剑,能决定你的 AI 产品是迈向辉煌成为下一个独角...
2025陆家嘴论坛今日开幕;5... 昨日A股6月17日,市场全天震荡调整,三大指数小幅下跌。截至收盘,沪指跌0.04%,深成指跌0.12...
牛市早报|陆家嘴论坛今日开幕,... 【市场数据】6月17日收盘,上证综指跌0.04%,报3387.4点;科创50指数跌0.8%,报963...
北京金橙子科技股份有限公司 关... 本公司董事会及全体董事保证本公告内容不存在任何虚假记载、误导性陈述或者重大遗漏,并对其内容的真实性、...
LABUBU成年轻人理财新宠!... 编者按:随着存款利率全面进入“1%”时代,“存款搬家”再度上演。这届年轻人也告别“躺赚”,开始探索各...
曹操出行启动招股;李泽楷旗下富... 每经记者:黄婉银 每经编辑:魏文艺 |2025年6月18日 星期三| NO.1 曹操出行启动招股,每...
泡泡玛特王宁:为什么我们还没碰... 泡泡玛特的王宁,这位在潮玩领域极具影响力的人物,时常思考着一个关键问题:为什么我们还没碰到真正的对手...
A股存量博弈,如何突围?专家支... 6月17日,A股窄幅震荡,整体走势偏弱,指数、板块、个股收跌居多,但跌幅相对较小。市场资金较为谨慎,...
中信建投:电力设备及新能源底部... 中信建投发布电新行业2025年中期投资策略称,从多角度对电力设备新能源行业的细分方向进行对比,结果发...
AI评测黑幕曝光!王自如入场,... 星空君有句话:现在的AI就是1999年的互联网。两个意思,一方面不计其数的资本涌入,机会非常多;另一...
全球央行抢购黄金!未来金价还能... 全球央行依然对黄金青睐有加。6月17日,世界黄金协会发布《2025年全球央行黄金储备调查》(CBGR...