zoukankan      html  css  js  c++  java
  • 【spring源码分析】spring和@PostConstruct注解

    @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!

  • 相关阅读:
    Ubuntu使用PBIS认证
    命令行运行Python脚本时传入参数的三种方式
    Python中调用shell
    Install chocolatey
    Configure vyatta
    Linux: Block Port With IPtables
    转:PHPStorm+XDebug进行调试图文教程
    转 Fira Code | 为写程序而生的字体
    转 [PHP]
    转:Drupal 如何得到字段的值?
  • 原文地址:https://www.cnblogs.com/shangxiaofei/p/10375907.html
Copyright © 2011-2022 走看看