火星薯 2020-01-09 13:59 采纳率: 50%
浏览 471
已采纳

交给spring管理的类和没交给spring管理的类在项目启动后,加载顺序是什么样的?

想项目启动后自动执行一个方法,我把这个类A用spring管理了,并把要执行的这个方法放在了init-method中。
这个方法需要用到一个类B中的某个静态方法,但是这个类B并没有交给spring容器管理,就是一个普通的类。
我想问,在这个init-method调用类B中的这个静态方法的时候,会不会出现classNotFound类似的这种错误?还是在调用B.xxx()的时候类B就自动加载了?并不会出现这样的错误?还是需要把B也交给Spring容器管理才可以(才能控制他在类A之前加载好)?

  • 写回答

4条回答

  • 长河落雨 2020-01-09 14:54
    关注

    不会报错的。 在类中使用static修饰的静态方法会随着类的定义而被分配和装载入内存中;而非静态方法属于对象的具体实例,只有在类的对象创建时在对象的内存中才有这个方法的代码段。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?