分享
 
 
 

Spring揭秘

Spring揭秘  点此进入淘宝搜索页搜索
  特别声明:本站仅为商品信息简介,并不出售商品,您可点击文中链接进入淘宝网搜索页搜索该商品,有任何问题请与具体淘宝商家联系。
  參考價格: 点此进入淘宝搜索页搜索
  分類: 图书,计算机与互联网,程序语言与软件开发,语言与开发工具,Java,Spring,
  品牌: 王福强

基本信息·出版社:人民邮电出版社

·页码:666 页

·出版日期:2009年09月

·ISBN:7115209421/9787115209429

·条形码:9787115209429

·包装版本:第1版

·装帧:平装

·开本:16

·正文语种:中文

产品信息有问题吗?请帮我们更新产品信息。

内容简介《Spring揭秘》以幽默生动的语言、辅以有趣的故事和典故,循循善诱地阐述了Spring框架的方方面面。针对Spring框架的主要功能以及开发者们遇到最多的问题,首先介绍问题的相关背景,然后逐条进行深度剖析,最后通过分析来引入Spring框架可以提供的最佳解决方案。虽言Spring,却不局限于Spring,《Spring揭秘》向读者展现了更宽广的软件开发的世界!

《Spring揭秘》非常适合Java开发人员阅读和参考。

作者简介王福强,资深软件开发专家和系统架构师,原任花旗软件(大连)资深软件工程师,现任阿里巴巴B2B平台技术部架构师。多年来一直专注于Java平台的技术发展,以及一线产品的技术选型和框架设计。拥有多年金融行业软件开发经历,负责过信贷、外汇交易、固定收益等金融系统的分析、设计、开发、维护、集成、扩展和性能调优等,对各种大型金融机构体系的技术架构与实现有丰富经验和独到的见解。作为国内最早使用Spring的开发者之一,他对spring的使用、设计和实现原理有着非常深入的了解。在本书中,他与读者分享了多年的Spring开发经验和探索企业级解决方案的心得。

媒体推荐“本书非常棒!内容全面透彻,很有价值!”

——(Rod Johnson,Spring之父)

“生动的语言和严谨的结构,构成了本书最大的特色。……大量生活化的比喻将难以理解的技术概念阐述得如此简单、清晰和易于理解。这不仅会帮助初学者快速掌握spring现代程序设计,而且可以帮助有经验的程序员深入Spring的构件精髓。”

——Yanger,Spring中文论坛刨始人,SpringTag.com运营总监

“可以翻成英文版出口的好书,每个使用spring的团队都应该自备两本,一本堂皇地培训新人,一本绐老手们偷偷地温习。”

——江南自衣(www.springside.org.cn)

“整本书文笔流畅,更不乏幽默与趣味,内容详略得当、取舍合理。另外,书中的内容极为全面,如果以后要把书当作参考手册的话,这些内容可以为您提供重要的信息。”

——DoJo中国,著名开源社区

“本书语言生动幽默,内容全面而精辟,在阐释spring框架提供的各种功能和特性的同时,介绍了大量在spring实现中涉及的设计模式和最佳实践,很值得开发人员借鉴和参考。

——中文JAvA技术网

编辑推荐《Spring揭秘》内容全面,论述深刻入理,必将成为每个Java专业开发人员必备的spring图书。没有教程似的训导,更多的是说故事般的娓娓道来,《Spring揭秘》总结了作者在多年的工作中积累的第一手Spring框架使用经验,深入剖析了spring框架各个模块的功能、出现的背景、设计理念和设计原理,揭开了Spring框架的神秘面纱,使你“知其然,更知其所以然”。每部分的扩展篇帮助读者活学活用Spring框架的方方面面,同时可以触类旁通,衍生出新的思路和解决方案。

让Spring之父Rod Johnson拍案叫绝的原创经典涵盖Spring 3.0。

首次全方位深度剖析spring框架实现原理及其设计理念

由国内资深架构师撰写,在国内开发者社区内赢得广泛关注和如潮好评

生动通俗地演绎系统设计之美、架构设计之道

目录

第一部分 掀起Spring的盖头来

第1章 Spring框架的由来 2

1.1 Spring之崛起 2

1.2 Spring框架概述 3

1.3 Spring大观园 5

1.4 小结 8

第二部分 Spring的IoC容器

第2章 IoC的基本概念 10

2.1 我们的理念是:让别人为你服务 10

2.2 手语,呼喊,还是心有灵犀 13

2.2.1 构造方法注入 13

2.2.2 setter方法注入 13

2.2.3 接口注入 14

2.2.4 三种注入方式的比较 15

2.3 IoC的附加值 15

2.4 小结 17

第3章 掌管大局的IoC Service Provider 18

3.1 IoC Service Provider的职责 18

3.2 运筹帷幄的秘密——IoC Service Provider如何管理对象间的依赖关系 19

3.2.1 直接编码方式 19

3.2.2 配置文件方式 20

3.2.3 元数据方式 21

3.3 小结 21

第4章 Spring的IoC容器之BeanFactory 22

4.1 拥有BeanFactory之后的生活 24

4.2 BeanFactory的对象注册与依赖绑定方式 26

4.2.1 直接编码方式 26

4.2.2 外部配置文件方式 28

4.2.3 注解方式 31

4.3 BeanFactory的XML之旅 33

4.3.1 beans和bean 33

4.3.2 孤孤单单一个人 35

4.3.3 Help Me, Help You 36

4.3.4 继承?我也会! 50

4.3.5 bean的scope 51

4.3.6 工厂方法与FactoryBean 56

4.3.7 偷梁换柱之术 61

4.4 容器背后的秘密 66

4.4.1 “战略性观望” 66

4.4.2 插手“容器的启动” 67

4.4.3 了解bean的一生 74

4.5 小结 85

第5章 Spring IoC容器ApplicationContext 86

5.1 统一资源加载策略 86

5.1.1 Spring中的Resource 87

5.1.2 ResourceLoader,“更广义的URL” 88

5.1.3 ApplicationContext与ResourceLoader 91

5.2 国际化信息支持(I18n MessageSource) 97

5.2.1 Java SE提供的国际化支持 97

5.2.2 MessageSource与ApplicationContext 98

5.3 容器内部事件发布 102

5.3.1 自定义事件发布 102

5.3.2 Spring的容器内事件发布类结构分析 105

5.3.3 Spring容器内事件发布的应用 107

5.4 多配置模块加载的简化 109

5.5 小结 110

第6章 Spring IoC容器之扩展篇 111

6.1 Spring 2.5的基于注解的依赖注入 111

6.1.1 注解版的自动绑定(@Autowired) 111

6.1.2 @Autowired之外的选择——使用JSR250标注依赖注入关系 115

6.1.3 将革命进行得更彻底一些(class-path-scanning功能介绍) 116

6.2 Spring 3.0展望 119

6.3 小结 120

第三部分 Spring AOP框架

第7章 一起来看AOP 122

7.1 AOP的尴尬 124

7.2 AOP走向现实 125

7.2.1 静态AOP时代 125

7.2.2 动态AOP时代 126

7.3 Java平台上的AOP实现机制 126

7.3.1 动态代理 126

7.3.2 动态字节码增强 126

7.3.3 Java代码生成 127

7.3.4 自定义类加载器 127

7.3.5 AOL扩展 127

7.4 AOP国家的公民 128

7.4.1 Joinpoint 128

7.4.2 Pointcut 130

7.4.3 Advice 131

7.4.4 Aspect 133

7.4.5 织入和织入器 133

7.4.6 目标对象 133

7.5 小结 134

第8章 Spring AOP概述及其实现机制 135

8.1 Spring AOP概述 135

8.2 Spring AOP的实现机制 136

8.2.1 设计模式之代理模式 136

8.2.2 动态代理 139

8.2.3 动态字节码生成 141

8.3 小结 142

第9章 Spring AOP一世 143

9.1 Spring AOP中的Joinpoint 143

9.2 Spring AOP中的Pointcut 144

9.2.1 常见的Pointcut 146

9.2.2 扩展Pointcut(Customize Pointcut) 151

9.2.3 IoC容器中的Pointcut 152

9.3 Spring AOP中的Advice 153

9.3.1 per-class类型的Advice 153

9.3.2 per-instance类型的Advice 159

9.4 Spring AOP中的Aspect 163

9.4.1 PointcutAdvisor家族 164

9.4.2 IntroductionAdvisor分支 167

9.4.3 Ordered的作用 168

9.5 Spring AOP的织入 170

9.5.1 如何与ProxyFactory打交道 170

9.5.2 看清ProxyFactory的本质 175

9.5.3 容器中的织入器——ProxyFactoryBean 179

9.5.4 加快织入的自动化进程 185

9.6 TargetSource 190

9.6.1 可用的TargetSource实现类 191

9.6.2 自定义TargetSource 195

9.7 小结 197

第10章 Spring AOP二世 198

10.1 @AspectJ形式的Spring AOP 198

10.1.1 @AspectJ形式AOP使用之先睹为快 199

10.1.2 @AspectJ形式的Pointcut 201

10.1.3 @AspectJ形式的Advice 211

10.1.4 @AspectJ中的Aspect更多话题 220

10.2 基于Schema的AOP 223

10.2.1 基于Schema的AOP配置概览 223

10.2.2 向基于Schema的AOP迁移 225

10.2.3 @AspectJ到“基于Schema的AOP”迁移 227

10.3 小结 235

第11章 AOP应用案例 237

11.1 异常处理 237

11.1.1 Java异常处理 237

11.1.2 Fault Barrier 238

11.2 安全检查 239

11.3 缓存 240

11.4 小结 240

第12章 Spring AOP之扩展篇 241

12.1 有关公开当前调用的代理对象的探讨 241

12.1.1 问题的现象 241

12.1.2 原因的分析 242

12.1.3 解决方案 243

12.2 小结 245

第四部分 使用Spring访问数据

第13章 统一的数据访问异常层次体系 249

13.1 DAO模式的背景 249

13.2 梦想照进现实 251

13.3 发现问题,解决问题 252

13.4 不重新发明轮子 254

13.5 小结 257

第14章 JDBC API的最佳实践 258

14.1 基于Template的JDBC使用方式 258

14.1.1 JDBC的尴尬 258

14.1.2 JdbcTemplate的诞生 261

14.1.3 JdbcTemplate和它的兄弟们 274

14.1.4 Spring中的DataSource 296

14.1.5 JdbcDaoSupport 301

14.2 基于操作对象的JDBC使用方式 302

14.2.1 基于操作对象的查询 303

14.2.2 基于操作对象的更新 310

14.2.3 基于操作对象的存储过程调用 313

14.3 小结 316

第15章 Spring对各种ORM的集成 317

15.1 Spring对Hibernate的集成 318

15.1.1 旧日“冬眠”时光 318

15.1.2 “春天”里的“冬眠” 321

15.2 Spring对iBATIS的集成 329

15.2.1 iBATIS实践之“前生”篇 329

15.2.2 iBATIS实践之“今世”篇 331

15.3 Spring中对其他ORM方案的集成概述 337

15.3.1 Spring对JDO的集成 337

15.3.2 Spring对TopLink的集成 340

15.3.3 Spring对JPA的集成 341

15.4 小结 344

第16章 Spring数据访问之扩展篇 345

16.1 活用模板方法模式及Callback 345

16.1.1 FTPClientTemplate 345

16.1.2 HttpClientTemplate 349

16.2 数据访问中的多数据源 350

16.2.1 “主权独立”的多数据源 350

16.2.2 “合纵连横”的多数据源 352

16.2.3 结束语 354

16.3 Spring 3.0展望 356

16.4 小结 356

第五部分 事务管理

第17章 有关事务的楔子 358

17.1 认识事务本身 358

17.2 初识事务家族成员 360

17.3 小结 362

第18章 群雄逐鹿下的Java事务管理 363

18.1 Java平台的局部事务支持 363

18.2 Java平台的分布式事务支持 365

18.2.1 基于JTA的分布式事务管理 366

18.2.2 基于JCA的分布式事务管理 367

18.3 继续前行之前的反思 367

18.4 小结 369

第19章 Spring事务王国的架构 370

19.1 统一中原的过程 371

19.2 和平年代 376

19.2.1 TransactionDefinition 376

19.2.2 TransactionStatus 382

19.2.3 PlatformTransac-tionManager 382

19.3 小结 392

第20章 使用Spring进行事务管理 393

20.1 编程式事务管理 393

20.1.1 直接使用PlatformTran-sactionManager进行编程式事务管理 393

20.1.2 使用TransactionTemp-late进行编程式事务管理 394

20.1.3 编程创建基于Savepoint的嵌套事务 396

20.2 声明式事务管理 397

20.2.1 引子 397

20.2.2 XML元数据驱动的声明式事务 399

20.2.3 注解元数据驱动的声明式事务 410

20.3 小结 413

第21章 Spring事务管理之扩展篇 414

21.1 理解并活用ThreadLocal 414

21.1.1 理解ThreadLocal的存在背景 414

21.1.2 理解ThreadLocal的实现 415

21.1.3 ThreadLocal的应用场景 416

21.1.4 使用ThreadLocal管理多数据源切换的条件 417

21.2 谈Strategy模式在开发过程中的应用 420

21.3 Spring与JTA背后的奥秘 423

21.4 小结 427

第六部分 Spring的Web MVC框架

第22章 迈向Spring MVC的旅程 430

22.1 Servlet独行天下的时代 430

22.2 繁盛一时的JSP时代 433

22.3 Servlet与JSP的联盟 436

22.4 数英雄人物,还看今朝 438

22.5 小结 440

第23章 Spring MVC初体验 441

23.1 鸟瞰Spring MVC 442

23.2 实践出真知 446

23.2.1 Spring MVC应用的物理结构 447

23.2.2 按部就班地开始工作 451

23.3 小结 459

第24章 近距离接触Spring MVC主要角色 460

24.1 忙碌的协调人HandlerMapping 460

24.1.1 可用的HandlerMapping 461

24.1.2 HandlerMapping执行序列(Chain Of HandlerMapping) 463

24.2 我们的亲密伙伴Controller 464

24.2.1 AbstractController 465

24.2.2 MultiActionController 468

24.2.3 SimpleFormController 476

24.2.4 AbstractWizard-FormController 496

24.2.5 其他可用的Controller实现 503

24.3 ModelAndView 505

24.3.1 ModelAndView中的视图信息 505

24.3.2 ModelAndView中的模型数据 506

24.4 视图定位器ViewResolver 506

24.4.1 可用的ViewResolver实现类 507

24.4.2 ViewResolver查找序列(Chain Of ViewResolver) 511

24.5 各司其职的View 511

24.5.1 View实现原理回顾 512

24.5.2 可用的View实现类 515

24.5.3 自定义View实现 521

24.6 小结 523

第25章 认识更多Spring MVC家族成员 524

25.1 文件上传与MultipartResolver 525

25.1.1 使用MultipartResolver进行文件上传的简单分析 526

25.1.2 文件上传实践 527

25.2 Handler与HandlerAdaptor 530

25.2.1 问题的起源 530

25.2.2 深入了解Handler 531

25.2.3 近看HandlerAdaptor的奥秘 533

25.2.4 告知Handler与Handler-Adaptor的存在 535

25.3 框架内处理流程拦截与Handler-Interceptor 536

25.3.1 可用的Handler-Interceptor实现 537

25.3.2 自定义实现Handler-Interceptor 538

25.3.3 HandlerInterceptor寻根 540

25.3.4 HandlerInterceptor之外的选择 541

25.4 框架内的异常处理与Handler-ExceptionResolver 544

25.5 国际化视图与LocalResolver 548

25.5.1 可用的LocaleResolver 549

25.5.2 LocaleResolver的足迹 550

25.5.3 Locale的变更与LocaleChangeHandler 551

25.6 主题(Theme)与ThemeResolver 552

25.6.1 提供主题资源的ThemeSource 552

25.6.2 管理主题的ThemeResolver 554

25.6.3 切换主题的ThemeChange-Interceptor 555

25.7 小结 556

第26章 Spring MVC中基于注解的Controller 557

26.1 初识基于注解的Controller 557

26.2 基于注解的Controller原型分析 558

26.2.1 自定义用于基于注解的Contro-ller的HandlerMapping 558

26.2.2 自定义用于基于注解的Contro-ller的HandlerAdaptor 560

26.3 近看基于注解的Controller 563

26.3.1 声明基于注解的Controller 563

26.3.2 请求参数到方法参数的绑定 569

26.3.3 使用@ModelAttribute访问模型数据 572

26.3.4 通过@SessionAttribute管理Session数据 574

26.4 小结 576

第27章 Spring MVC之扩展篇 577

27.1 Spring MVC也Convention Over Configuration 577

27.1.1 Convention Over Configuration简介 577

27.1.2 Spring MVC中的Convention Over Configuration 578

27.2 Spring 3.0展望 581

27.3 小结 582

第七部分 Spring框架对J2EE服务的集成和支持

第28章 Spring框架内的JNDI支持 584

28.1 JNDI简单回顾 584

28.2 Spring框架内JNDI访问的基石——JndiTemplate 585

28.3 JNDI对象的依赖注入——JndiObjectFactoryBean 587

28.4 小结 588

第29章 Spring框架对JMS的集成 589

29.1 说说JMS的身世 589

29.2 使用JMS API进行应用开发的传统套路 590

29.3 Spring改进后的JMS实战格斗术 592

29.3.1 消息发送和同步接收 592

29.3.2 异步消息接收 601

29.3.3 JMS相关异常处理 607

29.3.4 框架内的事务管理支持 608

29.4 小结 609

第30章 使用Spring发送E-mail 610

30.1 思甜前,先忆苦 610

30.2 Spring的E-mail抽象层分析 612

30.2.1 直接创建邮件消息并发送 614

30.2.2 使用MimeMessage-Preparator发送邮件 615

30.3 Spring的E-mail支持在实际开发中的应用 616

30.4 小结 622

第31章 Spring中的任务调度和线程池支持 623

31.1 Spring与Quartz 623

31.1.1 初识Quartz 623

31.1.2 融入Spring大家庭的Quartz 626

31.2 Spring对JDK Timer的集成 631

31.2.1 JDK Timer小记 631

31.2.2 Spring集成后的JDK Timer 632

31.3 Executor的孪生兄弟TaskExecutor 634

31.3.1 可用的TaskExecutor 635

31.3.2 TaskExecutor使用实例 637

31.4 小结 639

第32章 Spring框架对J2EE服务的集成之扩展篇 640

32.1 MailMonitor的延伸 640

32.2 Spring 3.0展望 642

32.3 小结 642

第33章 Spring远程方案 643

33.1 从“对面交谈”到“千里传声” 643

33.2 Spring Remoting架构分析 645

33.2.1 Spring Remoting之远程访问异常体系 645

33.2.2 统一风格的远程服务公开与访问方式 646

33.3 Spring Remoting提供的远程服务支持 648

33.3.1 基于RMI的Remoting方案 648

33.3.2 基于HTTP的轻量级Remoting方案 651

33.3.3 基于Web服务的远程方案 655

33.3.4 基于JMS的远程方案 658

33.4 扩展Spring Remoting 660

33.5 Spring Remoting之扩展篇 663

33.5.1 拉开JMX演出的序幕 663

33.5.2 Spring 3.0展望 664

参考文献 665

……[看更多目录]

序言在Spring作为关键词在每一位技术人员简历里面出现的今天,我们可以深刻地体会到sp血g的春天真的来了。

Spring经过几年的实战和演变,已经不再是一个单纯的体系框架,而代表着轻量级Java开发的规范。在短短几年的发展中,Spring给Java企业级开发带来了无比强大的推动力,让轻量级开发技术飞速发展。在Spring中,简单实现涵盖了一切元素,让我们将Java这门语言的所有特性发挥得淋漓尽致。通过Spring,你不仅可以学到如何应对每个领域的最佳实践,而且可以深入理解Java企业级开发中各层面的体系结构。因而,这简单的背后隐藏着巨大的秘密。

本书是揭开秘密的一把钥匙。作者借用大量的生活化比喻将Spring各环节的技术概念清晰、简单地展现在读者面前,让众多技术概念不再生硬难懂。同时,本书借助对spring各项功能的解读,将读者带入Java企业级开发的方方面面,不仅具体讲述了如何应对领域问题,而且还将背后的领域知识关联起来,让我们了解其因果关系和各种实践的差异和不同。更值得称赞的是书中的实例场景非常实用,可见作者的代码精心提取于实战项目,让读者在深入理解概念应用的同时,可以参考实际的使用方法去解决自己项目中同类型的问题,为可行性提供了有力的证明。

通过阅读,相信读者获得的不仅仅是对Spring的深入理解,而是一种系统化知识的演练,一种开放构架思维的突破,一种解决问题的思路方法。如果你也想将Spring作为关键词放入你的简历之中,那么我相信你需要了解的不仅是如何使用Spring这样简单的问题,还需要知道它背后众多的“秘密”。

文摘插图:

Spring揭秘

第一部分掀起Spring的盖头来

第1章Spring框架的由来

1.1 Sprig之崛起

在中世纪的欧洲,当重装骑兵所向披靡时,哪国的军队中如果没有一支重装骑兵真的会让人笑话的,按照电影《大腕》里的一句话说“你都不好意思跟人打招呼”。应该说,在当时的历史/军事环境下,重装骑兵在军队中确实发挥了不可或缺的作用。有时候,一次关键时刻的重装骑兵冲锋就可以奠定战局的胜利。但是,时过境迁,历史的车轮一直在向前缓缓行进,重装骑兵头上的光环也随之渐趋黯淡,其缺点开始显露无遗。

重装骑兵代价高昂。一名重装骑兵的装备花费几乎能够武装一小队轻步兵,对于财力不够雄厚的国家来说,维持一支常备的重装骑兵队伍绝非易事。实际上,对于财力雄厚的大国(相当于IT界的IBM、微软)来说,为了减轻财政上的压力,通常也是将这部分花销尽量摊派给贵族。

兵种自身限制太多。沉重的盔甲以及一整套装备使得重装骑兵的机动性和灵活性大打折扣,在正式投入战斗之前,重装骑兵需要很长时间的列装和部署,对于瞬息万变的战场形势来说,某些情况下,这等同于自杀。

发挥作用的场景有限。纵使各翼军队能够掩护重装骑兵完成部署,但如果战场地形不适合重装骑兵冲锋,那也就无法让他们大显身手,前期的准备或者战斗掩护就更是得不偿失。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
>>返回首頁<<
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有