【spring源码分析】spring和@PostConstruct注解
2024-10-18 22:29:49
@PostConstruct注解好多人以为是Spring提供的。其实是Java自己的注解。
Java中该注解的说明:@PostConstruct该注解被用来修饰一个非静态的void()方法。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。
通常我们会是在Spring框架中使用到@PostConstruct注解 该注解的方法在整个Bean初始化中的执行顺序:
Constructor(构造方法) -> @Autowired(依赖注入) -> @PostConstruct(注释的方法)
如果一个类用@Service 或 @Component,那么只需要用@PostConstruct修饰某个方法,该方法能在类实例化的过程中自动执行,相当于类的构造函数。同时,具备了构造函数不具备的功能。
@Service
class Test{
@PostConstruct
public void sayHello(){
System.out.println("Hello!");
}
}
但是需要注意:
子类实例化过程中会调用父类中的@PostConstruct方法!
@Service
class TestChild extends Test{
@PostConstruct
public void sayBye(){
System.out.println("Bye!");
}
}
启动项目,输出如下:
Hello!
Bye!
最新文章
- [MySQL Reference Manual]15. 其他存储引擎
- PHP学习心得(1)——实用脚本
- Apache+php+mysql+SQLyog在windows7下的安装与配置图解
- Maven Repository
- centos7 服务管理
- watir学习系列--Watir API介绍
- Bash实用技巧:同时循环两个列表
- C语言 二级指针内存模型②
- 利用DescriptionAttribute实现枚举字符串
- HDU 4292 Food
- Win7 x64下进程保护与文件保护(ObRegisterCallbacks)
- ubuntu系统安装FTP
- Xcode 那些简单实用的插件推荐
- Redis简介二
- 002.Create a web API with ASP.NET Core MVC and Visual Studio for Windows -- 【在windows上用vs与asp.net core mvc 创建一个 web api 程序】
- 使用Apache JMeter对SQL Server、Mysql、Oracle压力测试(一)
- mysql:mysql is neither service nor target!?(suse12 sp2 )
- alpha冲刺4/10
- PythonStudy——第一阶段性测试
- 一次流式处理的submit
热门文章
- TTL特殊门电路
- Codeforces Round #506 (Div. 3) D. Concatenated Multiples
- <;Spark>;<;Programming>;<;Key/Value Pairs>;<;RDD>;
- day 34 进程线程排序 抢票 初级生产者消费者
- __autolaod
- 使用OpenBTS基站测试物联网模块安全性
- c#帮助文档chm打不开的问题
- Kafka实践
- JAVA_全局配置文件(配置网址,url等等)_第二种方式
- CVE-2018-7566