Spring3.x开发入门

Similar documents
new 进行创建对象, 是程序主动去创建依赖对象 ; 而 IoC 是有专门一个容器来创建这些对象, 即由 Ioc 容器来控制对象的创建 ; 谁控制谁? 当然是 IoC 容器控制了对象 ; 控制什么? 那就是主要控制了外部资源获取 ( 不只是对象包括比如文件等 ) 为何是反转, 哪些方面反转了 : 有

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc

第03章 控制反转(Spring IoC)

IoC容器和Dependency Injection模式.doc

无类继承.key

「西醫基層總額支付委員會《第28次委員會議紀錄

Spring 的入门程序 依赖注入的概念 依赖注入的实现方式 Spring 的核心容器 Spring 的入门程序 依赖注入的概念 依赖注入的实现方式 依赖注入的概念 了解 Spring 的概念和优点 理解 Spring 中的 IoC 和 DI 思想 掌握 ApplicationContext 容器的

设计模式 Design Patterns

在Spring中使用Kafka:Producer篇

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

2013年度西藏自治区教育厅

實用文格式大全.doc

个 小 小 的 乡 下 人 木 匠 的 儿 子, 竟 然 有 这 么 大 的 力 量 其 实 就 是 这 点, 祂 活 出 来 的 那 种 爱, 是 世 界 上 没 有 的 祂 活 出 来 的 爱 是 世 界 上 的 人 都 需 要 的, 但 却 是 人 人 在 这 个 世 界 上 都 得 不 到

薛 秦 高 继 宁 宋 明 锁 文 洪 梁 瑞 敏 贾 跃 进 内 蒙 古 自 治 区 (3 人 ) 琪 格 其 图 米 子 良 赵 震 生 辽 宁 省 (8 人 ) 田 素 琴 白 凤 鸣 肖 瑞 崇 黄 恩 申 白 长 川 杨 世 勇 李 敬 林 王 秀 云 吉 林 省 (5 人 ) 赵 继 福

南華大學數位論文

, 即 使 是 在 昏 暗 的 灯 光 下, 她 仍 然 可 以 那 么 耀 眼 我 没 有 地 方 去, 你 会 带 着 我 么 杜 晗 像 是 在 嘲 笑 一 般, 嘴 角 的 一 抹 冷 笑 有 着 不 适 合 这 个 年 龄 的 冷 酷 和 无 情, 看 着 江 华 的 眼 神 毫 无 温

团 学 要 闻 我 校 召 开 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 3 月 17 日, 我 校 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 在 行 政 办 公 楼 五 楼 会 议 室 举 行, 校 团 委 委 员 各 院 ( 系 ) 团 委 书 记 校 学 生

Untitled

第 一 节 认 识 自 我 的 意 义 一 个 人 只 有 认 识 自 我, 才 能 够 正 确 地 认 识 到 自 己 的 优 劣 势, 找 出 自 己 的 职 业 亮 点, 为 自 己 的 顺 利 求 职 推 波 助 澜 ; 一 个 人 只 有 认 识 自 我, 才 能 在 求 职 中 保 持

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复

目 录 第 一 部 分 档 案 局 概 况 一 主 要 职 责 二 部 门 决 算 单 位 构 成 第 二 部 分 档 案 局 2016 年 度 部 门 预 算 表 一 2016 年 度 市 级 部 门 收 支 预 算 总 表 二 2016 年 度 市 级 部 门 支 出 预 算 表 三 2016

2015 年 度 收 入 支 出 决 算 总 表 单 位 名 称 : 北 京 市 朝 阳 区 卫 生 局 单 位 : 万 元 收 入 支 出 项 目 决 算 数 项 目 ( 按 功 能 分 类 ) 决 算 数 一 财 政 拨 款 一 一 般 公 共 服 务 支 出 二

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc

EJB-Programming-3.PDF

2. AOP 底层技术实现 小风 Java 实战系列教程 关键词 : 代理模式 代理模型分为两种 : 1) 接口代理 (JDK 动态代理 ) 2) 子类代理 (Cglib 子类代理 ) 需求 :CustomerService 业务类, 有 save,update 方法, 希望在 save,updat

<4D F736F F D20B9FABCD2BBFAB9D8B0ECB9ABBDA8D6FEBACDB4F3D0CDB9ABB9B2BDA8D6FEC4DCBAC4BCE0B2E2CFB5CDB3C8EDBCFEBFAAB7A2D6B8B5BCCBB5C3F7CAE92E646F63>

untitled

untitled

Microsoft Word - 第7章 初识Hibernate—教学大纲.doc

计算机网络与经济(六).doc

Microsoft PowerPoint - 6. 用户定义类型User-defined Datatypes.ppt [兼容模式]

序号:001

<!-- import outer proper

Stateless Session Beans(无状态bean)的学习

信息

untitled

没 有 多 余 的 Contruol 或 Action 了 原 来 Domain 层 被 服 务 层 Service layer 遮 挡, 在 右 边 图 中, 则 Domain 层 直 接 暴 露 给 前 台 了, 没 有 被 遮 挡, 裸 露 了 这 样 一 步 到 位 实 现 领 域 模 型

优迈科技教学大纲2009版本

jsp

发展党员材料填写参考(上网).doc

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

TopTest_Adminstrator.doc

1.加入党组织主要经过哪些程序?

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

欢迎访问动力节点官方网站,动力节点java0基础免费学习半个月,java就业班免费学习一个月,满意后再交学费,请稊等,正在为您接入咨询老师

Spring 3.x权威开发指南:实施Java EE 6的利器

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

WWW PHP

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

59 1 CSpace 2 CSpace CSpace URL CSpace 1 CSpace URL 2 Lucene 3 ID 4 ID Web 1. 2 CSpace LireSolr 3 LireSolr 3 Web LireSolr ID

1

Microsoft Word - 新1-12.doc

目 录 目 录 平 台 概 述 技 术 架 构 技 术 特 点 基 于 统 一 平 台 的 多 产 品 线 支 撑 先 进 性 安 全 性 开 放 性 高 性 能 和

untitled

Microsoft Word - Sing Fu

第三章 中原儺文化圈

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

EJB-Programming-4-cn.doc

chap07.key

untitled

湖北省高等教育自学考试新生注册管理办法

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

中 山 大 学 珠 海 校 区 基 础 教 学 实 验 中 心 ( 下 简 实 验 中 心 ) 成 立 于 2000 年, 为 独 立 建 制 的 校 级 实 验 教 学 机 构 按 照 " 高 起 点, 高 标 准, 高 效 益 " 的 定 位 来 规 划 建 设, 是 一 个 实 验 资 源 高

设计模式 Design Patterns

Microsoft Word - 第2期.doc

部省级卫生综合管理信息平台建设指南

桃園縣秀才實驗學校多元適性發展的課程規畫

untitled

untitled

untitled

D C 93 2

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii

nb.PDF

ASP.NET实现下拉框二级联动组件

30 20!!!??

目 录 第 一 部 分 毕 业 设 计 / 毕 业 实 习 工 作 计 划 总 则 成 立 毕 业 设 计 毕 业 实 习 工 作 领 导 小 组 毕 业 设 计 时 间 安 排...4 第 二 部 分 毕 业 设 计 任 务 书 毕


2009年11月21日

Microsoft Word - MIS.doc

奥运档案(三).doc

Java应用框架Spring实验指导书.doc

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1


Serial ATA ( Nvidia nforce430)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 6 (4) S A T A... 9 (5) S A T A (6) Microsoft Win

Microsoft Word - YDB Vehicle Telematics Service Requirement and General Framework

材 料 目 录 1. 党 员 发 展 及 转 正 流 程 图 2. 申 请 入 党 人 员 基 本 信 息 及 培 养 记 录 表 3. 思 想 汇 报 传 阅 及 意 见 反 馈 表 4. 入 党 积 极 分 子 培 养 考 察 表 5. 政 治 审 查 函 调 信 模 板 6. 政 治 审 查

0 配置 Host MIB 设备 V ( 简体版 ) 0 Update: 2016/1/30

上海工程技术大学学生党员发展工作流程图


OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票

江 汉 大 学 学 报 总 第 28 卷 类 直 抒 胸 臆 的 无 功 利 创 作, 心 情 不 好 写 虐 文 泄 愤 心 情 好 时 写 脱 线 文 挥 洒 把 其 他 作 品 中 自 己 喜 欢 的 人 物 塑 造 成 完 美 形 象 不 喜 欢 的 人 物 贬 损 到 极 点 5 而 在

目 录 1. 业 务 流 程 系 统 开 发 面 临 的 挑 战 与 机 遇 业 务 流 程 管 理 新 一 代 开 源 业 务 流 程 开 发 平 台 BPMX BPMX3 是 什 么 为 什 么 要 优 先 采 用 BPMX

INTRODUCTION TO COM.DOC

前 言

Microsoft Word - Learn Objective-C.doc

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

<4D F736F F D20A1B6BBB7BEB3B1A3BBA4D6F7B9DCB2BFC3C5CDF8D5BEBDA8C9E8D3EBCEACBBA4BCBCCAF5B5BCD4F2A3A8B7A2B2BCB8E5A3A9A1B B315D312E646F63>

Transcription:

Spring Bean 管理

Spring 的工厂类 课程安排 Spring 的 Bean 管理 (XML 方式 ) Spring 的属性注入 (XML 方式 ) Spring 的 Bean 管理 ( 注解方式 ) Spring 的属性注入 ( 注解方式 )

Spring 的工厂类

Spring 的 Bean 管理 (XML 方式 )

三种实例化 Bean 的方式 使用类构造器实例化 ( 默认无参数 ) 使用静态工厂方法实例化 ( 简单工厂模式 ) 使用实例工厂方法实例化 ( 工厂方法模式 )

Bean 的配置 id 和 name 一般情况下, 装配一个 Bean 时, 通过指定一个 id 属性作为 Bean 的名称 id 属性在 IOC 容器中必须是唯一的 如果 Bean 的名称中含有特殊字符, 就需要使用 name 属性 class class 用于设置一个类的完全路径名称, 主要作用是 IOC 容器生成类的实例

Bean 的作用域 类别 singleton prototype request session 说明在 SpringIOC 容器中仅存在一个 Bean 实例,Bean 以单实例的方式存在每次调用 getbean() 时都会返回一个新的实例每次 HTTP 请求都会创建一个新的 Bean, 该作用域仅适用于 WebApplicationContext 环境同一个 HTTP Session 共享一个 Bean, 不同的 HTTP Session 使用不同的 Bean 该作用域仅适用于 WebApplicationContext 环境

Spring 容器中 Bean 的生命周期 Spring 初始化 bean 或销毁 bean 时, 有时需要作一些处理工作, 因此 spring 可以在创 建和拆卸 bean 的时候调用 bean 的两个生命周期方法 <bean id= xxx class=...yoo init-method= init destory-method= destroy /> 当 bean 被载入到容器的时候调用 init 当 bean 从容器中删除的时候调用 destroy(scope= singleton 有效 ) web 容器中会自动调用, 但是 main 函数或测试用例需要手动调用

Spring 容器中 Bean 的生命周期

Spring 容器中 Bean 的生命周期 1. instantiate bean 对象实例化 2. populate properties 封装属性 3. 如果 Bean 实现 BeanNameAware 执行 setbeanname 4. 如果 Bean 实现 BeanFactoryAware 或者 ApplicationContextAware 设置工厂 setbeanfactory 或者上下文对象 setapplicationcontext 5. 如果存在类实现 BeanPostProcessor( 后处理 Bean), 执行 postprocessbeforeinitialization

Spring 容器中 Bean 的生命周期 6. 如果 Bean 实现 InitializingBean 执行 afterpropertiesset 7. 调用 <bean init-method="init"> 指定初始化方法 init 如果存在类实现 BeanPostProcessor( 处理 Bean), 执行 postprocessafterinitialization 8. 如果存在类实现 BeanPostProcessor( 处理 Bean), 执行 postprocessafterinitialization 9. 执行业务处理 10. 如果 Bean 实现 DisposableBean 执行 destroy 11. 调用 <bean destroy-method="customerdestroy"> 指定销毁方法 customerdestroy

Spring 的属性注入 对于类成员变量, 注入方式有三种 构造函数注入 属性 setter 方法注入 接口注入 Spring 支持前两种

Spring 的属性注入 - 构造方法注入 通过构造方法注入 Bean 的属性值或依赖的对象, 它保证了 Bean 实例在实 例化后就可以使用 构造器注入在 <constructor-arg> 元素里声明的属性

Spring 的属性注入 - set 方法注入 使用 set 方法注入, 在 Spring 配置文件中, 通过 <property> 设置注入的 属性

Spring 的属性注入 -p 名称空间 使用 p 命名空间 为了简化 XML 文件配置,Spring 从 2.5 开始引入一个新的 p 名称空间 p:< 属性名 >="xxx" 引入常量值 p:< 属性名 >-ref="xxx" 引用其它 Bean 对象

Spring 的属性注入 -SpEL 注入 SpEL:spring expression language,spring 表达式语言, 对依赖注入进行简化 语法 :#{ 表达式 } <bean id="" value="#{ 表达式 }"> SpEL 表达式语言语法 :#{} #{ hello } : 使用字符串 #{topicid3}: 使用另一个 bean #{topicid4.content.touppercase()}: 使用指定名属性, 并使用方法 #{T(java.lang.Math).PI}: 使用静态字段或方法 -

复杂类型的属性注入 数组类型的属性注入 List 集合类型的属性注入 Set 集合类型的属性注入 Map 集合类型的属性注入 Properties 类型的属性注入

Spring 的 Bean 管理 ( 注解方式 )

使用注解定义 Bean Spring2.5 引入使用注解去定义 Bean @Component 描述 Spring 框架中 Bean 除了 @Component 外,Spring 提供了 3 个功能基本和 @Component 等效的注解 @Repository 用于对 DAO 实现类进行标注 @Service 用于对 Service 实现类进行标注 @Controller 用于对 Controller 实现类进行标注 这三个注解是为了让标注类本身的用途清晰,Spring 在后续版本会对其增强

Spring 的属性注入 - 注解方式 使用 @Autowired 进行自动注入 @Autowired 默认按照类型进行注入 如果存在两个相同 Bean 类型相同, 则按照名称注入 @Autowired 注入时可以针对成员变量或者 set 方法 通过 @Autowired 的 required 属性, 设置一定要找到匹配的 Bean 使用 @Qualifier 指定注入 Bean 的名称 使用 Qualifier 指定 Bean 名称后, 注解 Bean 必须指定相同名称

Spring 的属性注入 - 注解方式 Spring 提供对 JSR-250 中定义 @Resource 标准注解的支持 @Resource 和 @Autowired 注解功能相似

Spring 的其他注解 Spring 初始化 bean 或销毁 bean 时, 有时需要作一些处理工作, 因此 spring 可以在创建 和拆卸 bean 的时候调用 bean 的两个生命周期方法 <bean id= foo class=...foo init-method= setup destory-method= teardown /> 当 bean 被载入到容器的时候调用 setup 注解方式下 : @PostConstruct 初始化 当 bean 从容器中删除的时候调用 teardown(scope= singleton 有效 ) 注解方式如下 : @PreDestroy 销毁

Bean 的作用范围 使用注解配置的 Bean 和 <bean> 配置的一样, 默认作用范围都是 singleton @Scope 注解用于指定 Bean 的作用范围

传统 XML 配置和注解配置混合使用 XML 方式的优势 结构清晰, 易于阅读 注解方式的优势 开发便捷, 属性注入方便 XML 与注解的整合开发 1 引入 context 命名空间 2 在配置文件中添加 context:annotation-config 标签 <context:annotation-config/>