总纲: java编译器在编译阶段将各种注解留在了运行代码中和类方法属性等项目元素绑在一起得,然后 SpringApplication.run 这个函数就通过JVM的注解反射方法,获取到了这些注解,从而知道了这些项目元素在项目中的角色作用,就有了能力进行各种操作(比如自动装配)。 这些操作就是框架的自动加载过程! 注解 注解本身不会运行,但它可以被运行的代码获取