spring加载顺序
时间: 2024-11-30 15:12:50 浏览: 19
spring加载顺序讨论
Spring框架的初始化加载顺序通常按照特定的规则进行,主要包括以下几个步骤:
1. **XML配置文件解析**:首先,Spring容器会读取XML配置文件(如applicationContext.xml),解析其中的bean定义。
2. **Bean定义扫描**:如果使用了@Component、@Service、@Repository或@Controller等注解,Spring会通过组件扫描机制自动发现并注册这些bean。
3. **单例bean的创建**:对于singleton作用域的bean,Spring会在应用启动时只创建一个实例,并将其存储在内存中供后续请求共享。
4. **依赖注入(DI)**:Spring通过依赖注入机制处理bean之间的依赖关系,通常是通过@Autowired注解或XML中的<dependency>标签完成。
5. **原型bean的创建**:prototype作用域的bean每次请求都会创建一个新的实例。
6. **懒加载(Lazy Initialization)**:某些bean可能标记为lazy-init,Spring会在第一次实际访问该bean时才创建。
7. **生命周期回调**:Spring支持一些生命周期回调方法,比如InitializingBean的afterPropertiesSet()和DisposableBean的destroy(),它们会在bean初始化和销毁时执行相应的操作。
8. **AOP(Aspect Oriented Programming)**:如果使用了切面编程,相关的通知点(advice)将在适当的时候执行。
阅读全文