Spring 笔记 Spring 是 Java 企业版(Java EE)应用程序的框架,提供了结构化的配置文件,实现了控制反转(IoC)和面向切面编程(AOP),支持表现层、业务逻辑层和持久层。Spring 的核心是 IoC 和 AOP,能够与主流的第三方框架进行整合。 Spring 的功能概述 * Spring 的核心:IoC(反转控制)和 AOP(面向切面编程) * 支持表现层、业务逻辑层(事务管理)、持久层 * 能和主流的第三方框架整合 Spring 的资源包 * Spring 版本目前最新版本 4.X,本课程基于 3.2.0 进行讲解 * 3.2.0 的资源包: + spring-framework-3.0.2.RELEASE-dependencies.zip:Spring 依赖的 jar 包 + spring-framework-3.2.0.RELEASE-dist.zip:Spring 的发行包 * Spring 框架从 3.2.0 开始,不再提供已经打包好的发行包和依赖包,移植到 Maven(仓库) IoC(反转控制) * Spring 容器:放对象的 Map 而已 * 让 Spring 管理你的资源 * 技巧:Spring 的名称空间引入的范例 * 引入的 schema 如果没有提示解决办法: + 建立 spring 的配置文件管理资源的 + 启动 Spring 容器加载配置文件,实例化其中配置好的对象,并按照指定的名字存在 Spring 容器中 BeanFactory 和 ApplicationContext * BeanFactory:延迟加载,使用 bean 时才进行初始化 * ApplicationContext:加载配置文件时,初始化 bean 对象(立即加载) * ApplicationContext 还有其他功能: + 国际化处理 + 事件传递 + Bean 自动装配 + 各种不同应用层的 Context 实现 Bean 的实例化 * 调用默认的构造方法(主流) * 静态工厂方法初始化(遗留老系统) * 实例工厂方法初始化(遗留老系统) Bean 的作用范围 * 默认情况下,spring 容器管理的 bean 的实例都是单例的 Bean 的生命周期 * Servlet、Filter、Interceptor 等,接口中都有 void init() 初始化方法、void destroy() 销毁方法 依赖注入 * 构造器注入 * 属性注入 p 名称空间的支持 * 引入 p 名称空间 * 使用 p 名称空间注入属性 SpEL:Spring Expression Language * 统一使用 value 注入属性 注入数组或集合 * 注入数组或集合 团队开发(多个 Spring 配置文件) * 项目中的一个模块一个配置文件 * 注意事项: + 同一个 xml 文件中不能出现相同名称的 bean + 多个 xml 文件可以出现相同名称的 bean,后导入的配置的会覆盖前面的配置 + name:可以指定 bean 的名称,多个值可以使用逗号分隔 基于注解的配置 * 注解:Annotation。替代 xml 配置文件 * 优点:简化配置;开发时非常直观 * 缺点:硬编码,写到了源码中。程序员不好理解 * XML:缺点:配置稍微麻烦,开发时不直观。优点:避免了硬编码 常用的注解 * @Component:让 spring 管理的资源,实例化 bean * @Repository:用在持久层组件 * @Service:用在业务层组件 * @Controller:用在表现层组件 * @Autowired:注入相关对象,默认按照类别进行注入 * @Value:注入基本数据(基本类型、String 类型) * @Qualifier:通过 value 属性,指定要注入的 bean 的名称。配合着@Autowired 来一起使用
剩余16页未读,继续阅读
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助