Spring框架文档 - 核心技术部分 中文版 - 第二部分 内容目录

Spring Framework Documentation

5.3.10

Core Technologies

下载此文档PDF版       返回文档下载页面


2. 资源 273

2.1..介绍 273

2.2. Resource 接口 273

2.3.内置Resource 实现 275

2.3.1. UrlResource 275

2.3.2. ClassPathResource 276

2.3.3. FileSystemResource 276

2.3.4. PathResource 277

2.3.5. ServletContextResource 277

2.3.6. InputStreamResource 277

2.3.7. ByteArrayResource 277

2.4.ResourceLoader 接口 278

2.5. ResourcePatternResolver 接口 279

2.6. ResourceLoaderAware 接口 281

2.7.资源作为依赖 282

2.8.应用程序上下文和资源路径 284

2.8.1.构建应用程序上下文 284

2.8.1.1.构造ClassPathXmlApplicationContext实例 :捷径 285

2.8.2.应用程序上下文构造函数资源路径中的通配符 286

2.8.2.1. Ant样式模式 287

2.8.2.2.“classpath*: ” 前缀 288

2.8.2.3.与通配符有关的其它说明 288

2.8.3.  FileSystemResource 警告 289

3. 验证、数据绑定和类型转换 292

3.1.使用Spring的Validator接口进行验证 292

3.2.将代码解析为错误消息 296

3.3. Bean操作和BeanWrapper 297

3.3.1.设置和获取基本属性和嵌套属性 297

3.3.2.内置PropertyEditor 实现 301

3.3.2.1.注册其它自定义PropertyEditor 实现 304

3.4. Spring类型转换 310

3.4.1.转换器SPI 310

3.4.2.使用ConverterFactory 311

3.4.3.使用GenericConverter 312

3.4.3.1.使用ConditionalGenericConverter 313

3.4.4. ConversionService API 313

3.4.5.配置ConversionService 314

3.4.6. 通过编程使用ConversionService 315

3.5. Spring字段格式化 317

3.5.1. Formatter SPI 317

3.5.2.注解驱动的格式化 320

3.5.2.1. 格式注解API 323

3.5.3. FormatterRegistry SPI 323

3.5.4. FormatterRegistrar SPI 324

3.5.5.在Spring MVC中配置格式化 324

3.6.配置全局日期和时间格式 325

3.7. Java Bean验证 327

3.7.1. Bean验证概述 327

3.7.2.配置Bean验证提供者 329

3.7.2.1. 注入验证器 329

3.7.2.2. Spring驱动的方法验证 332

3.7.2.3.其它配置选项 333

3.7.3.配置DataBinder 333

3.7.4. Spring MVC 3验证 334

4. Spring表达式语言(SpEL) 335

4.1. 计算 336

4.1.1.理解EvaluationContext 339

4.1.1.1.类型转换 340

4.1.2.解析器配置 341

4.1.3. SpEL编译 343

4.1.3.1.编译器配置 343

4.1.3.2.编译器限制 345

4.2. Bean定义中的表达式 346

4.2.1. XML配置 346

4.2.2.注解配置 347

4.3.语言参考 350

4.3.1.字面量表达式 350

4.3.2.属性、数组、列表、映射和索引器 351

4.3.3.内联列表 354

4.3.4.内联Map 355

4.3.5.构建数组 355

4.3.6.方法 356

4.3.7.运算符 357

4.3.7.1.关系运算符 357

4.3.7.2.逻辑运算符 359

4.3.7.3.数学运算符 361

4.3.7.4.赋值运算符 363

4.3.8.类型 363

4.3.9.构造函数 364

4.3.10.变量 365

4.3.10.1 #this和#root变量 366

4.3.11.函数 367

4.3.12. Bean引用 368

4.3.13.三元运算符(If-Then-Else) 369

4.3.14. Elvis运算符 370

4.3.15.安全导航运算符 372

4.3.16.集合选择 373

4.3.17.集合投影 374

4.3.18.表达式模板 374

4.4.案例中用到的类 376

5. Spring面向切面编程 382

5.1. AOP概念 382

5.2. Spring AOP功能和目标 385

5.3. AOP代理 386

5.4.支持@AspectJ 386

5.4.1.启用@AspectJ支持 387

5.4.1.1.通过Java配置启用@AspectJ支持 387

5.4.1.2.使用XML配置启用@AspectJ支持 387

5.4.2.声明一个切面(Aspect) 388

5.4.3. 声明切入点 389

5.4.3.1.支持的切入点指示符 390

5.4.3.2.组合切入点表达式 392

5.4.3.3.共享公共的切入点定义 393

5.4.3.4.举例 397

5.4.3.5.编写良好的切入点 400

5.4.4.声明通知 401

5.4.4.1.前置通知 401

5.4.4.2.返回后通知 403

5.4.4.3.抛出后通知 405

5.4.4.4. After (Finally) Advice 406

5.4.4.5.环绕通知 407

5.4.4.6.通知参数 409

5.4.4.7.通知排序 416

5.4.5. 引入 417

5.4.6.切面实例化模型 419

5.4.7. AOP举例 420

5.5.基于Schema的AOP支持 424

5.5.1.声明一个切面 424

5.5.2.声明一个切入点 425

5.5.3.声明通知 427

5.5.3.1. Before Advice (前置通知) 427

5.5.3.2. After Returning Advice (返回后通知) 428

5.5.3.3. After Throwing Advice (抛出后通知) 429

5.5.3.4. After (Finally) Advice  (后置(最终)通知) 430

5.5.3.5. Around Advice (环绕通知) 431

5.5.3.6.通知参数 432

5.5.3.7.通知排序 436

5.5.4.引入(Introductions) 436

5.5.5. A切面实例化模型 438

5.5.6.通知者 438

5.5.7. AOP Schema举例 439

5.6.选择要使用的AOP声明样式 442

5.6.1. Spring AOP还是全部采用AspectJ? 443

5.6.2. Spring AOP采用@AspectJ 还是XML 443

5.7.混合切面类型 445

5.8.代理机制 445

5.8.1.理解AOP代理 446

5.9.编程创建@AspectJ代理 450

5.10.与Spring应用程序一起使用AspectJ 452

5.10.1.使用AspectJ向Spring注入依赖领域对象 452

5.10.1.1. @Configurable对象的单元测试 456

5.10.1.2.使用多个应用程序上下文 456

5.10.2. AspectJ的其它Spring切面 457

5.10.3.使用Spring IoC配置AspectJ切面 458

5.10.4.在Spring框架中加载时织入AspectJ切面 459

5.10.4.1.第一个例子 460

5.10.4.2.切面 466

5.10.4.3. META-INF/aop.xml 466

5.10.4.4.所需的库(JARS) 466

5.10.4.5. Spring配置 467

5.10.4.6.环境相关的配置 471

5.11.更多资源 472

6. Spring AOP API 473

6.1. Spring中的切入点API 473

6.1.1.概念 473

6.1.2.切入点上的操作 474

6.1.3. AspectJ表达式切入点 474

6.1.4.方便的切入点实现 475

6.1.4.1.静态切入点 475

6.1.4.2.动态切入点 476

6.1.5.切入点超类 477

6.1.6.自定义切入点 478

6.2. Spring中的通知API 478

6.2.1.通知生命周期 478

6.2.2. Spring中的通知类型 478

6.2.2.1.拦截环绕通知 479

6.2.2.2. Before Advice (前置通知) 480

6.2.2.3. Throws Advice (抛出通知) 481

6.2.2.4. After Returning Advice (返回后通知) 484

6.2.2.5. Introduction Advice (引入通知) 485

6.3. Spring中的通知者API 490

6.4.使用ProxyFactoryBean 创建AOP代理 490

6.4.1.基础 490

6.4.2. JavaBean属性 491

6.4.3.基于JDK和基于CGLIB的代理) 492

6.4.4.代理接口 493

6.4.5. 代理类 495

6.4.6.使用全局通知者 496

6.5.简明代理定义 497

6.6.使用ProxyFactory以编程方式创建AOP代理 498

6.7.操作被通知对象 499

6.8.使用自动代理 502

6.8.1.自动代理bean定义 503

6.8.1.1. BeanNameAutoProxyCreator 503

6.8.1.2. DefaultAdvisorAutoProxyCreator 504

6.9.使用TargetSource 实现 505

6.9.1.热交换目标源 506

6.9.2.池化目标源 507

6.9.3. Prototype目标源 509

6.9.4. ThreadLocal 目标源 509

6.10.定义新的通知类型 510

7. Null安全性 511

7.1. 用例 511

7.2. JSR-305元注解 511

8.数据缓冲区和编解码器 513

8.1. DataBufferFactory 513

8.2. DataBuffer 513

8.3. PooledDataBuffer 514

8.4. DataBufferUtils 514

8.5. Codecs(编解码器) 514

8.6.使用DataBuffer 515

9. Logging (日志) 517

10.附录 518

10.1. XML Schemas 518

10.1.1. util Schema 518

10.1.1.1.使用<util:constant/> 518

10.1.1.2.使用<util:property-path/> 521

10.1.1.3.使用<util:properties/> 524

10.1.1.3.使用<util:list/> 524

10.1.1.4.使用<util:map/> 525

10.1.1.5.使用<util:set/> 526

10.1.2. aop Schema 527

10.1.3. context Schema 528

10.1.3.1.使用<property-placeholder/> 529

10.1.3.2.使用<annotation-config/> 529

10.1.3.3.使用<component-scan/> 529

10.1.3.4.使用 <load-time-weaver/> 529

10.1.3.5.使用<spring-configured/> 529

10.1.3.6.使用 <mbean-export/> 530

10.1.4. Beans Schema 530

10.2.编写XML schema 531

10.2.1.编写Schema 531

10.2.2.编写NamespaceHandler 533

10.2.3.使用BeanDefinitionParser 535

10.2.4.注册处理器和Schema 537

10.2.4.1.编写ETA-INF/spring.handlers 537

10.2.4.2.编写“META-INF/spring.schemas” 537

10.2.5. 在Spring XML配置中使用自定义扩展 538

10.2.6. 更多详细示例 538

10.2.6.1.在自定义元素中嵌套自定义元素 539

10.3.应用程序启动步骤 552

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月满闲庭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值