当前位置:首页 > 工业技术
开发者突击:精通AOP整合应用开发 AspectWerkz+AspectJ+Spring
开发者突击:精通AOP整合应用开发 AspectWerkz+AspectJ+Spring

开发者突击:精通AOP整合应用开发 AspectWerkz+AspectJ+SpringPDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:刘中兵编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2008
  • ISBN:9787121072833
  • 页数:450 页
图书介绍:本书以AOP基础理论为主线,首先讲解AOP的产生与发展、为什么要应用AOP、AOP的核心概念;然后详细讲解AspectWerkz、AspectJ、Spring框架的AOP应用开发技术。AspectWerkz:讲解AspectWerkz三种开发方式(命令行、Eclipst+Ant、Eclipse+AspectWerkz插件)、两种核心技术(Aspect类与关联配置),并在实际的J2EE项目中实现三种AspectWerkz功能(日志记录器、性能分析器、权限检查拦截器);AspectJ:讲解Eclipse下开发AspectJ的三种开发方式(命令行、Ant、AJDT),两种核心技术(Aspect类与Annotation开发),并讲解AspectJ对Java5新特性的支持,最后在实际的J2EE项目中实现三种AspectJ功能(日志记录器、性能分析器、权限检查拦截器、异常监视器、在线用户监视器);Spring AOP:以Ioc为基础讲解Spring下的AOP开发,讲解三种AOP的开发方式,使用@Aspect注释符、基于Schema的配置开发方式和Spring API的开发方式,最后在实际的J2EE
《开发者突击:精通AOP整合应用开发 AspectWerkz+AspectJ+Spring》目录

第1部分 AOP基础篇 3

第1章 AOP的产生 3

软件开发方法的演进 3

结构化方法SP(Structured Programming) 3

面向数据结构的软件开发方法DOP(Data-Oriented Programming) 4

面向问题的分析法PAM(Problem Analysis Method) 5

面向对象编程OOP(Object-Oriented Programming) 5

面向界面的可视化开发方法 7

组件化编程CP(Component Programming) 8

面向方面编程AOP(Aspect-Oriented Programming) 8

面向服务架构SOA(Service-Oriented Architecture) 9

AOP产生的前奏——把系统看做一批关注点 11

拆分关注点 11

拆分需求 12

AOP产生的理由——传统方法存在的问题 13

多维需求一维实现 13

用传统方式实现 13

传统方式带来的问题 14

传统方式导致的结果 14

现有的3种解决办法 14

AOP能更好地解决问题 15

下一个主题:AOP基础理论 15

第2章 AOP基础理论 17

AOP入门知识 17

AOP简介 17

AOP是设计模式的延续 18

第一个AOP程序HelloWorld 18

使用AOP的优点 19

使用AOP需要考虑的问题 20

AOP应用开发 21

AOP的开发过程 21

AOP的实现语言 22

AOP的应用范围 22

AOP最佳实践——为HelloWorld添加日志功能 23

AOP最佳实践——为HelloWorld添加权限控制功能 24

AOP核心技术 24

AOP名词解释 25

AOP通知类型 26

AOP织入过程 26

AOP织入策略 27

AOP织入时机 28

AOP开源框架 30

AspectWerkz 31

AspectJ 31

Spring 32

其他AOP框架 33

下一个主题:AspectWerkz应用篇 33

第2部分 AspectWerkz应用篇 37

第3章 AspectWerkz入门基础 37

认识AspectWerkz 37

AspectWerkz简介 38

AspectWerkz主要特性 39

AspectWerkz版本发展 40

安装AspectWerkz的开发环境 45

安装与配置JDK 46

安装与配置AspectWerkz 47

安装与配置Eclipse 48

安装MyEclipse 50

下一个主题:AspectWerkz应用开发详解 52

第4章 AspectWerkz应用开发详解 53

第1种:使用命令行进行开发——实例演示AW Hello World 1 54

新建目标类com.demo.HelloWorld.java 55

新建方面类com.demo.MyAspect.java 56

定义XML关联文件aop.xml 56

织入与运行 57

编写Annotation方面类com.demo.MyAspectWithAnnotations.java 58

编写Annotation的XML关联文件aopWithAnnotations.xml 60

织入与运行Annotation的类 60

第2种:使用Eclipse+Ant进行开发——实例演示AWHelloWorld2 62

编写Ant的构建文件build.xml 63

编写属性文件aw.properties 67

从AWHelloWorldl.zip中添加类代码 68

运行构建任务 68

程序的调试 70

第3种:使用Eclipse+AspectWerkz插件进行开发——实例演示AWHelloWorld3 71

安装AspectWerkz插件 71

从AWHelloWorldl.zip中添加类代码 72

运行AOP程序 73

Aspect查看器 74

编写带Java 5注释符的方面类 75

织入方面类前后的对比 77

下载并安装反编译工具 77

织入前的HelloWorld.class反编译结果 77

织入后的HelloWorld.class反编译结果 78

实际应用案例AWHelloWorld 80

新建目标类com.demo.HelloWorldjava 80

新建方面类com.demo.HelloWorldHijacker.java 81

新建XML文件META-INF/aop.xml 81

下一个主题:开发Aspect核心类 82

第5章 AspectWerkz核心技术——开发Aspect核心类 83

编写Aspect方面类 83

Aspect类的修饰类型 84

Aspect类的构造函数 84

Aspect类的继承 85

编写Advice通知函数 86

Advice函数的修饰类型 86

通知的类型和Advice函数形式 87

JoinPoint输入参数 88

JoinPoint类型的输入参数 88

StaticJoinPoint类型的输入参数 89

下一个主题:关联Aspect核心类 90

第6章 AspectWerkz核心技术——关联Aspect核心类 91

匹配模式语言 92

通配符 92

类的匹配 92

方法的匹配 93

构造函数的匹配 94

变量的匹配 95

子类的匹配 95

数组的匹配 96

匹配表达式 96

匹配函数 96

匹配运算符 98

如何引用匹配表达式 98

第1种关联方式:使用Annotation定义关联 99

使用@Aspect设置Aspect部署模式 100

使用@Expression自定义一个表达式 100

设置Advice通知函数 102

在XML中申明Aspect类 105

第2种关联方式:使用XML文件定义关联 105

使用〈aspect〉定义Aspect类 106

使用〈pointcut〉定义匹配表达式 106

使用〈advice〉定义Advice通知函数 107

使用〈param〉传递参数到Aspect类中 109

使用〈package〉定义包 109

使用〈exclude〉和〈include〉设置包的范围 110

定义〈system〉 110

添加DTD 111

完整的XML样例 111

XML命名方式 112

下一个主题:AspectWerkz在Java EE项目中的应用 112

第7章 AspectWerkz在Java EE项目中的应用 113

安装Java EE项目的开发环境 114

安装并运行数据库MySQL 114

安装Tomcat 116

配置Tomcat与Eclipse的集成 119

运行Java EE项目 120

将项目导入到Eclipse中 121

发布项目到Tomcat中并启动Tomcat 124

登录该项目的系统界面 126

开发前的准备工作 127

分析项目包结构 127

添加AspectWerkz库 129

应用一:开发AOP日志记录器 129

创建日志记录器类Loggerjava 130

在aop.xml中配置该日志记录器 133

织入日志记录器到Action类中 133

发布并运行项目查看运行结果 136

应用二:开发AOP性能分析器 137

创建性能分析器类Timerjava 138

在aop.xml中配置该性能分析器 139

织入性能分析器到Action类中 140

发布并运行项目查看运行结果 142

应用三:开发AOP权限检查拦截器 143

创建权限检查拦截器类AuthorizationInterceptor.java 143

在aop.xml中配置该权限检查拦截器 145

织入权限检查拦截器到Action类中 146

发布并运行项目查看运行结果 147

程序结构图 148

下一个主题:AspectJ应用篇 149

第3部分 AspectJ应用篇 153

第8章 AspectJ入门基础 153

AspectJ概述 153

AspectJ简介 154

AspectJ的产生 154

AspectJ的版本发展 155

AspectJ安装与配置 155

下载AspectJ安装程序 156

安装AspectJ 157

认识AspectJ安装后的目录 161

配置AspectJ 161

测试AspectJ环境 162

下一个主题:AspectJ应用开发详解 162

第9章 AspectJ应用开发详解 163

使用AspectJ命令行开发 164

类路径的属性变量 164

ajc——编译时和编译后织入类 165

aj——加载时织入类 171

ajdoc——生成Javadoc文档 172

ajbrowser——AspectJ浏览器 174

使用Ant任务进行开发 179

AjcTask(iajc)——执行类的编译与运行 179

Ajcll CompilerAdapter(javac)——切换javac的编译器执行编译 186

Ajc10(ajc)——执行类的编译与运行 189

下一个主题:在Eclipse中使用AJDT开发AspectJ应用 191

第10章 在Eclipse中使用AJDT开发AspectJ应用 193

AJDT下载与安装 194

AJDT简介 194

AJDT的发布版本 195

AJDT的下载安装包 195

AJDT的两种安装方式 197

AJDT应用开发详解——开发实例AspectJHello World 200

创建AspectJ项目的两种方式 201

配置AspectJ项目AspectJHelloWorld 205

新建一个目标类HelloWorldjava 207

新建一个方面类MyAspect.aj 207

在MyAspect.aj中添加通知函数 209

对比HelloWorld.class织入前后的不同 210

运行目标类HelloWorldjava查看结果 212

AJDT的高级功能 213

目标类视图——查看HelloWorldjava 213

方面类视图——查看MyAspect.aj 214

AspectJ图形化视图 215

AspectJ与其他IDE的集成 216

AspectJ与JBuilder的集成插件 216

AspectJ与NetBeans的集成插件 217

AspectJ与Emacs and JDEE的集成插件 218

jdeveloperaop插件 219

下一个主题:AspectJ核心语法详解 220

第11章 AspectJ核心语法详解 221

编写Aspect方面类 222

Aspect类的定义 222

Aspect类的继承 223

Aspect类的抽象 223

编写Aspect连接点函数 224

定义连接点函数 224

匹配表达式的函数类型 225

匹配表达式的通配符 228

匹配表达式的组合 229

在连接点中传递上下文参数 229

编写Aspect通知函数 230

通知函数的语法格式 231

通知函数的5种类型 231

通知函数的异常处理 234

使用JointPoint访问上下文信息 235

使用Annotation编写Aspect类 236

定义Aspect的注释符@Aspect 236

定义连接点的注释符@Pointcut 237

定义通知的5种注释符 238

定义声明的3种注释符 241

Annotation开发实例——AnnotationHelloWorld 242

创建项目AnnotationHelloWorld 242

使用@Aspect修饰方面类MyAspect.aj 243

使用@Pointcut修饰连接点函数methods() 245

使用@Before修饰通知函数before() 245

使用@Around修饰通知函数around() 246

使用@After修饰通知函数after() 247

运行目标类HelloWorldjava查看结果 248

下一个主题:AspectJ对Java 5新特性的支持 249

第12章 AspectJ对Java 5新特性的支持 251

使用Java 5注释符(Annotation) 251

Java 5中的注释符 251

在Aspect中使用Java 5注释符 253

在匹配表达式中匹配Java 5注释符 255

为目标代码注入Java 5注释符 257

为目标函数注入错误信息 258

为目标类设置继承类和接口 258

设置Aspect类的执行顺序 258

使用Java 5泛型(Generics) 259

Java 5中的泛型知识 259

在Aspect中应用泛型 261

为目标类设置参数化的继承类和接口 264

定义参数化的Aspect类 264

使用Java 5自动装箱(AutoBoxing)与拆箱(Unboxing) 265

Java 5中的自动装箱 265

Java 5中的自动拆箱 266

在Aspect中使用装箱与拆箱 266

Java 5中的类型覆盖(Covariance) 267

Java 5中的类型覆盖是什么 267

在Aspect中进行匹配 268

使用Java 5可变变量类型(Varargs) 268

Java 5中的可变变量类型 268

在Aspect中匹配可变变量类型 269

使用Java 5枚举类型(Enum) 270

Java 5中的枚举类型 270

在Aspect中使用枚举类型 273

下一个主题:AspectJ在Java EE项目中的应用 273

第13章 AspectJ在Java EE项目中的应用 275

开发前的准备工作 276

运行该Java EE项目 276

分析项目包结构 276

添加AspectJ库 278

将项目转换为AspectJ项目 278

应用一:AOP日志记录器 279

创建日志记录器类Logger.aj 280

记录用户登录信息 281

记录用户退出信息 283

记录用户操作信息 285

查看Logger.aj连接点导航图 287

发布并运行项目,查看运行结果 289

应用二:AOP性能分析器 290

创建性能分析器类Timer.aj 290

记录用户操作时间信息 292

查看Timer.aj连接点导航图 294

发布并运行项目,查看运行结果 295

应用三:AOP权限检查拦截器 297

创建权限检查拦截器类AuthorizationInterceptor.aj 297

验证用户的操作 299

查看AuthorizationInterceptor.aj连接点导航图 302

发布并运行项目,查看运行结果 303

应用四:AOP异常监视器 305

创建异常监视器类ExceptionMonitor.aj 305

捕捉用户操作的异常 307

查看ExceptionMonitor.aj连接点导航图 309

发布并运行项目,查看运行结果 310

应用五:AOP在线用户监视器 311

创建在线用户监视器类OnlineUser.aj 311

监视用户的操作 313

查看OnlineUser.aj连接点导航图 315

发布并运行项目,查看运行结果 317

程序结构图 317

下一个主题:Spring AOP应用篇 318

第4部分 Spring AOP应用篇 321

第14章 Spring与IoC入门基础 321

了解Spring框架 321

Spring的产生与发展 321

Spring框架结构图 322

Spring组件包详解 323

了解IoC控制反转 326

IoC与DI的基本概念 327

IoC模式的实例讲解 327

利用Java反射机制实现IoC容器 332

Spring中IoC容器的实现方式 338

IoC模式的优缺点 338

依赖注入的3种类型 340

Type1接口注入 340

Type2构造注入 341

Type3设值注入 341

3种类型对比总结 342

Spring的IoC容器装载机制 343

BeanFactory的使用步骤 344

配置〈bean〉的属性 346

配置〈bean〉的子元素 350

ApplicationContext 354

下一个主题:Spring的安装与配置 357

第15章 Spring的安装与配置 359

使用MyEclipse自动添加Spring 360

使用MyEclipse添加Spring开发环境 360

结果预览:Spring支持包列表 362

结果预览:Spring配置文件列表 362

手动添加Spring 363

第一步:添加Spring的jar支持包 363

第二步:添加Spring的tld标签库文件 363

第三步:添加Spring的核心配置文件applicationContext.xml 363

第四步:添加日志配置文件 364

Spring入门样例——SpringTest 364

在applicationContext.xml中添加Bean配置 364

新建Bean类——HelloWorld.java 364

运行测试类Test.java 365

下一个主题:基于@Aspect注释符的AOP开发 366

第16章 基于@Aspect注释符的AOP开发 367

定义方面类(Aspect) 368

在applicationContext.xml中启用@Aspect注释 368

在applicationContext.xml中声明一个切面类MyAspect.java 369

定义切入点函数(Pointcut) 370

Spring中切入点语法知识 370

定义切入点函数Pointcut() 373

新建目标类HelloWorld.java 373

定义通知函数(Advice) 374

前置通知(Before advice) 375

返回后通知(After Returning Advice) 375

抛出后通知(After Throwing Advice) 376

后通知(After(Finally)Advice) 377

环绕通知(Around Advice) 378

多个通知函数的执行顺序 379

通知函数的参数 380

访问目标对象的连接点 380

传递参数给通知函数(Advice) 381

自定义参数名 382

完整的实例——SpringAnnotation 383

applicationContext.xml文件 383

MyAspect.java 383

编写测试类Test.java 384

运行测试类Test.java 385

打包SpringAnnotation.zip 386

下一个主题:基于Schema的AOP开发 386

第17章 基于Schema的AOP开发 387

配置applicationContext.xml 387

切换到Schema模式 388

引入spring-aop命名空间 388

开始配置〈aop:config〉元素 389

〈aop:config〉的元素构成 389

申明一个切面 389

声明一个切入点 390

声明通知 391

前置通知(Before Advice) 391

返回后通知(After Returning Advice) 392

抛出异常后通知(After Throwing Advice) 393

后通知(After(Finally)Advice) 394

环绕通知(Around Advice) 395

通知参数 395

通知顺序 396

完整的实例——SpringSchema 396

applicationContext.xml文件 396

MyAspect.java 397

编写测试类Test.java 398

运行测试类Testjava 398

打包SpringSchema.zip 399

下一个主题:基于SpringAPI的AOP开发 400

第18章 基于SpringAPI的AOP开发 401

新建项目SpringAOPDemo 401

新建接口类IHelloWorld 401

新建实现类HelloWorld 401

配置applicationContext.xml 402

Spring里的通知Advice类型 402

环绕通知 402

前置通知 403

异常通知 403

后置通知 404

配置Advisor和AOP代理 405

Spring里的Advisor 405

使用ProxyFactoryBean创建AOP代理 405

运行结果 406

编写测试类Test.java 406

运行环绕通知 407

运行前置通知 407

运行异常通知 408

运行后置通知 410

打包SpringAOPDemo.zip 411

下一个主题:Spring AOP在Java EE项目中的应用 412

第19章 Spring AOP在Java EE项目中的应用 413

选择@Aspect还是Schema 414

开发前的准备工作 415

运行该Java EE项目 415

分析项目包结构 415

添加AspectJ库 416

应用一:AOP日志记录器 417

创建日志记录器类Loggerjava 417

记录用户登录信息 418

记录用户退出信息 420

记录用户操作信息 421

在appl icationContext.xml中配置Logger组件 422

发布并运行项目,查看运行结果 422

应用二:AOP性能分析器 424

创建性能分析器类Timer.java 424

记录用户操作时间信息 425

在applicationContext.xml中配置Timer组件 426

发布并运行项目,查看运行结果 427

应用三:AOP权限检查拦截器 428

创建权限检查拦截器类Authorizationlnterceptor.java 429

验证用户的操作 430

在app licationContext.xml中配置Authorizationlnterceptor组件 431

发布并运行项目,查看运行结果 432

应用四:AOP异常监视器 433

创建异常监视器类ExceptionMonitor.java 433

捕捉用户操作的异常 435

在applicationContext.xml中配置ExceptionMonitor组件 436

发布并运行项目,查看运行结果 436

应用五:AOP在线用户监视器 436

创建在线用户监视器类OnlineUser.java 437

监视用户的操作 438

在applicationContext.xml中配置OnlineUser组件 440

发布并运行项目,查看运行结果 440

程序结构图 441

下一个主题:Spring与AspectJ的集成 441

第20章 Spring与AspectJ的集成 443

配置Spring到AspectJ的集成 443

添加支持包spring-aspectsjar 443

配置Aop命名空间 444

切换到AspectJ 444

配置AspectJ并运行 445

配置aop.xml 445

发布并运行项目,查看运行结果 445

改变方面类组件,查看运行结果 447

程序结构图 448

相关图书
作者其它书籍
返回顶部