Spring框架详解:IOC与DI实战指南

需积分: 5 1 下载量 27 浏览量 更新于2024-08-07 收藏 16KB MD 举报
"自己整理的spring笔记" 这是一份关于Spring框架的个人整理笔记,主要涵盖了Spring的核心概念、IoC(控制反转)和DI(依赖注入)等关键知识点。笔记作者提供了Spring的下载链接以及如何在Eclipse环境中配置Spring工具套件的指导。Spring是一个广泛应用的Java企业级开发框架,它简化了应用程序的构建和管理,使得开发者可以更专注于业务逻辑,而不是底层的基础设施。 Spring框架的主要组成部分包括: 1. **Spring核心**:这由`spring-core-*.jar`和`spring-expression-*.jar`组成,它们提供了基本的容器功能,如依赖注入和Bean的管理。 2. **Spring Beans**:`spring-beans-*.jar`是Spring Bean定义和配置的核心模块,支持XML和Java配置。 3. **Spring Context**:`spring-context-*.jar`扩展了Spring核心,提供了与企业服务的集成,如AOP(面向切面编程)、事件、国际化、邮件服务等。 4. **Spring AOP**:`spring-aop-*.jar`支持面向切面编程,允许定义方法拦截器和切面,实现代码的解耦和模块化。 5. **Commons Logging**:`commons-logging-*.jar`是一个日志抽象层,使Spring能够适配多种日志实现。 在Eclipse中,可以通过Spring Tools Suite (STS)来提升开发体验,它集成了Spring相关的开发工具和插件,方便创建、配置和管理Spring应用。安装STS后,可以在`applicationContext.xml`或类似的配置文件中定义Bean。 Spring的IoC(Inversion of Control,控制反转)是其核心特性之一,它将对象的创建和管理交给了Spring容器,而非由代码直接创建。这样,对象之间的依赖关系不再由对象自身维护,而是由容器负责。IoC的一个实现方式就是DI(Dependency Injection,依赖注入),它通过setter方法、构造函数或者注解来注入依赖。 在XML配置中,`<bean>`元素用于定义一个Bean,其中`id`属性是Bean的唯一标识,`class`属性指定Bean的类。`p:`前缀用于指定带有参数的setter方法,如`p:person="张三"`。此外,`value`属性用于直接注入基本类型的值,而`ref`属性则用于引用另一个Bean。 依赖注入有多种方式: 1. **byName**:根据Bean的名称自动匹配依赖。 2. **byType**:根据类型自动匹配依赖,如果有多个相同类型的Bean,会导致异常。 还有其他的方式如`autowire`属性,它允许自动装配Bean的依赖,可以设置为`byName`或`byType`,也可以设置为`no`(关闭自动装配)或`default`(默认策略)。对于多实例Bean,可以使用`prototype`作用域,每次请求都会创建一个新的实例。而`singleton`是默认作用域,表示全局只有一个实例。 Spring框架的强大在于它的灵活性和可扩展性,开发者可以根据需求选择适合的配置方式和模块,实现高效的企业级应用开发。这份笔记为初学者和有经验的开发者提供了一个很好的学习和参考资源。