当前位置:文档之家› spring-3.1.0中文版api帮助文档

spring-3.1.0中文版api帮助文档

spring-3.1.0中文版api帮助文档
spring-3.1.0中文版api帮助文档

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

的利器

2011年8月31日

目录

序 ............................................................................................................................................VIII 前言 ........................................................................................................................................... X 1借助Spring 3.1实施Java EE 6 . (1)

1.1Java EE 6编程模型讨论 (1)

1.1.1Java EE 6够敏捷,No! (1)

1.1.2盘旋于具体与抽象之间 (2)

1.2挖掘Spring 3.1的架构价值 (3)

1.2.1精耕细作于Java EE 6平台 (3)

1.2.2面向Spring的SpringSource Tool Suite集成开发工具 (3)

1.2.3全面拥抱OSGi 4.2 (4)

1.2.4开发者决定一切 (4)

1.3下载及构建Spring 3.1 (5)

1.3.1下载Spring 3.1正式发布版 (5)

1.3.2基于SVN库持续构建Spring源码 (6)

1.4小结 (7)

2控制反转容器 (8)

2.1DI及Spring DI概述 (8)

2.1.1面向Java ME/Java SE的BeanFactory (8)

2.1.2面向Java EE的ApplicationContext (9)

2.2多种依赖注入方式 (9)

2.2.1设值注入 (9)

2.2.2构建器注入 (11)

2.2.3属性注入 (12)

2.2.4方法注入 (12)

2.3借助Autowiring策略智能注入协作者 (13)

2.3.1元素的autowire属性 (13)

2.3.2基于@Required注解加强协作者管理 (14)

2.3.3基于@Autowired或@Inject注解的另一Autowiring策略 (16)

2.3.4借助primary属性或@Qualifier注解细粒度控制Autowiring策略 (16)

2.4资源操控 (19)

2.5将DI容器宿主到Web容器中 (19)

2.6外在化配置应用参数 (19)

2.7Spring受管Bean的作用范围 (19)

2.8Bean Validation集成支持 (19)

2.9回调接口集合及触发顺序 (19)

2.10命名空间 (20)

2.11值得重视的若干DI特性 (20)

2.11.1depends-on属性 (20)

2.11.2别名(Alias) (20)

2.11.3工厂Bean和工厂方法 (20)

2.11.4

命名空间 (21)

2.11.5抽象和子Bean (21)

2.12基于注解(Annotation)方式配置DI容器 (21)

2.13Spring表达式语言(SpEL)支持 (22)

2.13.1核心接口及类 (22)

2.13.2基于API方式使用 (22)

2.13.3基于XML方式使用 (22)

2.13.4基于Annotation注解使用 (22)

2.13.5SpEL语法速查 (22)

2.14回调接口集合及其触发顺序 (22)

2.14.1BeanNameAware回调接口 (22)

2.14.2BeanClassLoaderAware回调接口 (23)

2.14.3BeanFactoryAware回调接口 (23)

2.14.4ResourceLoaderAware回调接口 (23)

2.14.5ApplicationEventPublisherAware回调接口 (23)

2.14.6MessageSourceAware回调接口 (23)

2.14.7ApplicationContextAware回调接口 (23)

2.14.8@PostConstruct注解 (23)

2.14.9InitializingBean回调接口 (23)

2.14.10元素的init-method属性 (24)

2.14.11@PreDestroy注解 (24)

2.14.12DisposableBean回调接口 (24)

2.14.13元素的destroy-method属性 (24)

2.15小结 (24)

3面向切面编程 (25)

3.1AOP及Spring AOP基础 (25)

3.1.1细说AOP (25)

3.1.2Spring AOP基础概念 (25)

3.2AspectJ 6初探 (25)

3.3老式Spring AOP (25)

3.4基于@AspectJ的Spring AOP (26)

3.5基于元素的AOP (26)

3.5.1巧用元素 (26)

3.6在AspectJ 6应用中启用@Configurable注解 (26)

3.6.1显式使用AnnotationBeanConfigurerAspect切面 (26)

3.6.2阐述@Configurable注解 (28)

3.6.3通过META-INF/aop.xml(或aop-ajc.xml)控制启用的切面集合 (30)

3.6.4元素 (31)

3.6.5初探元素 (31)

3.7小结 (31)

4DAO层集成支持 (33)

4.1RDBMS持久化操作抽象支持 (33)

4.2.1JDBC最佳实践 (33)

4.3事务集成支持 (33)

4.4集成测试支持 (33)

4.5在AspectJ 6应用中启用@Transactional注解 (33)

4.6小结 (33)

5Hibernate、JPA集成 (34)

5.1Hibernate集成支持 (34)

5.2JPA集成支持 (34)

5.3智能处理Java EE容器中的装载期织入(LTW) (34)

5.4小结 (35)

6O/X Mapping集成支持 (36)

6.1O/X Mapping集成支持 (36)

6.1.1Marshaller及Unmarshaller接口 (37)

6.2实践XMLBeans集成支持 (37)

6.2.1借助Ant生成XMLBeans JAR (38)

6.2.2XmlBeansMarshaller实现类 (39)

6.2.3元素 (40)

6.3小结 (40)

7集成Java EE其他容器服务 (41)

7.1简化JNDI操作 (41)

7.2集成EJB 3.1 (41)

7.3线程池及任务调度集成支持 (41)

7.4集成JMS (41)

7.5集成JavaMail (41)

7.6集成分布式操作 (41)

7.7集成JMX (42)

7.8集成Java EE连接器架构 (42)

8Web层集成支持 (43)

8.1Spring Web MVC框架 (43)

8.2Spring Portlet MVC框架 (43)

8.3REST架构风格 (43)

8.4小结 (43)

9高级Spring 3.0特性 (44)

9.1优雅销毁DI容器 (44)

9.2小结 (44)

10附录A:安装及使用SpringSource Tool Suite (45)

10.1获得SpringSource Tool Suite (45)

10.2安装SpringSource Tool Suite (45)

10.3使用SpringSource Tool Suite (47)

10.3.1针对Spring 3.1的支持 (47)

10.3.2针对Spring Web Flow的支持 (49)

10.3.3针对Spring Batch的支持 (50)

10.3.4针对Spring Roo的支持 (50)

11附录B:Spring 3.1内置的命名空间 (51)

11.1命名空间 (51)

11.2命名空间 (51)

11.3命名空间 (51)

12附录C:Spring Web Services (52)

12.1文档驱动的Web服务 (52)

12.2面向OXM的Web服务实现策略 (52)

12.3Web服务安全 (52)

13附录D:Spring Web Flow (53)

13.2探索Spring Web Flow (53)

14附录E:Spring BlazeDS Integration (54)

14.1Flex-RIA王者 (54)

14.2简化BlazeDS的使用 (54)

14.3深入到Spring BlazeDS Integration中 (54)

15附录F:Spring Roo (55)

15.1快速研发之道 (55)

15.1.1Spring Roo概述 (55)

15.2Spring Roo架构哲学 (55)

15.3深入到Spring Roo中 (55)

16附录G:相关资料 (56)

16.1图书 (56)

16.2网站 (56)

从2003年开始,开源Spring一直在同Java EE携手走来。Spring 2.0之前(包括1.x、2.0版本)的版本一直在跟进J2EE 1.4-的发展,而Spring 2.5跟进Java EE 5,Spring 3.0开始跟进Java EE 6的发展,而Spring 3.1全面跟进Java EE 6,包括Java SE 7集成支持。当然,这种跟进的深度和广度远远超越了Java EE本身。

Java EE被企业生产环境广泛采纳,这在很大程度上要归功于这样几方面的因素。其一,Java本身的跨平台能力,即其可移植性强。其二,Java EE服务器内置了大量的重要容器服务,比如事务服务、JNDI服务及连接池服务,这些服务可供企业应用选用。其三,开发者可以基于Java EE API研发企业应用,并部署到企业生产环境中。然而,Java EE暴露给开发者的客户视图存在重大缺陷,尤其是应用同Java EE容器打交道的过程很复杂,加上直接基于Java EE API研发企业应用的生产效率低下(指研发效率,不是运行效率),并且非常容易出问题,比如数据库连接泄漏。自Spring诞生以来,这些问题已经成为了历史。Spring 针对Java EE容器服务及Java EE API提供了抽象和集成支持,进而得到开发者的广泛拥护。

为更好地针对Java EE容器服务及Java EE API提供抽象和集成支持,Spring提供了由控制反转容器和AOP(面向切面编程)组成的元框架。注意,这一元框架能够被使用到任意场合,而不只是在Java EE容器中。

值得提醒的是,Spring并不能取代Java EE,但借助Spring能降低实施Java EE的门槛,并加快采纳Java EE的速度。最终,Spring还能够确保企业应用的质量是一流的。因此,Java EE是前提,没有Java EE的发展,Spring就不会出现。与此同时,Spring的出现使得Java EE 能够得到更好的发展,比如Java EE 5、6便吸取了大量的开源经验和成果(其中包括了Spring 的部分特性),并融入到Java EE规范中。

现如今,Spring已经进入到3.1时代。此时进入我们视野的不再局限于Spring 3.1框架本身,而是涉及面极广的框架集合,比如面向Web服务的Spring Web Services、面向页面流的Spring Web Flow、面向集成Adobe BlazeDS(Flex)的Spring BlazeDS Integration、面向ETL领域的Spring Batch、面向Android的Spring Android等。

自从Spring诞生的那天起,我们便一直在基于它交付各种类型的企业级Java应用,并积累了大量的经验、教训。为全面跟进Spring 3.1时代,并记录各种宝贵的经验教训,我便萌发了此书的写作工作,这是非常有意思的大挑战。虽然我们是围绕Spring 3.1展开全书写

作工作的,但有关Java EE 6的各种背景、实践及技巧都会被深入讨论到。因此,我更希望开发者能够把它看成是一本同时探讨Java EE 6和Spring 3.1的著作。

如果我们的图书对您有帮助,或者愿意支持图书的持续写作,则可以通过支付宝支持我们,支付宝帐号是:openvcube@https://www.doczj.com/doc/199260187.html,。让我们一起做得更好!

当然,Spring涉及的知识面非常广,加上我们经验有限,书中难免出现错误,还望同行批评指正,并提出各种宝贵写作建议。

罗时飞

E_mail:openvcube@https://www.doczj.com/doc/199260187.html,

2011年于广州

前言

本书将对Spring 3.1及Java EE 6进行全方位探索。到目前为止,Spring 3.1主要提供了三方面的内容:DI容器、AOP支持、Java EE服务抽象及集成。我们的探索旅程正是围绕它们展开的。

我们将各章的主体内容安排如下。

●第1章,借助Spring 3.1实施Java EE 6。

●第2章,控制反转容器。控制反转容器和面向切面编程是Spring的核心内容,它

们构成了Spring本身的元框架。本章探讨IoC,下章探讨AOP。

●第3章,面向切面编程。AOP的出现使得“强入侵性”一词可以寿终正寝了。而

且,可喜的是,Spring内置了多种不同风格的AOP实现。

●第4章,DAO层集成支持。本章内容将围绕JDBC、事务抽象、集成测试展开论

述。

●第5章,Hibernate、JPA集成。

●第6章,O/X Mapping集成支持。Spring 3.0新引入的重要技术,其最初来自于Spring

Web Services项目。

●第7章,集成Java EE其他容器服务。主要阐述服务层相关集成技术,比如JNDI、

EJB 3.1、JMS、JavaMail、JMX等。

●第8章,Web层集成支持。

●第9章,高级Spring 3.1特性。

●第10章,附录A,安装及使用SpringSource Tool Suite。

●第11章,附录B,Spring 3.1内置的命名空间。

●第12章,附录C,Spring Web Services。

●第13章,附录D,Spring Web Flow。

●第14章,附录E,Spring BlazeDS Integration。

●第15章,附录F,Spring Roo。

●第16章,附录G,相关资料。

值得注意的是,https://www.doczj.com/doc/199260187.html,提供了全书配套代码、脚本的下载,借助如下SVN命令能够将它们下载到D:\springsource\ebooks位置。

D:\springsource>svn co https://www.doczj.com/doc/199260187.html,/svn/trunk/ ebooks 随后,开发者可以使用它们,或在STS中导入各自的代码或脚本,并完成各自运行和调试工作。如果需要不定期更新它们,则可借助如下SVN命令。

D:\springsource\ebooks>svn update

任何问题,可以同我们取得联系,谢谢!我们特提供了QQ群(106813165),以探讨同本书相关的技术问题。

1借助Spring 3.1实施Java EE 6

Spring在Java EE领域占据着不可或缺的位置。Java EE 6将同Spring 3并肩战斗,并将企业级Java推向另一个高度。

1.1Java EE 6编程模型讨论

走过10年后,Java EE已经奔向了“6”字头时代,这在企业计算领域是一种奇迹。然而,一路走来,参与Java EE的最广泛群体并没有感受到Java EE的研发优势,尤其是它暴露的编程模型。这一最广泛群体正是开发人员,你我都应该属于这一群体。

现如今,“敏捷”一词到处可见,我们就从它开始讨论Java EE 6是否已经足够敏捷。

1.1.1Java EE 6够敏捷,No!

打开Java EE 6规范(https://www.doczj.com/doc/199260187.html,/javaee/technologies/javaee6.jsp),我们能够看到,这次的改进非常多。这其中有如下几方面内容尤为突出(从暴露给开发者的客户视图阐述,即Java EE编程模型)。

其一,加强了模块化、可扩展能力,比如Servlet 3.0引入了Web Fragment等。

其二,注解技术(Annotation)的使用到处可见。

其三,Java EE API进行了最广泛的升级,几乎涉及到Java EE的各个方面,并引入了REST架构(Representational State Transfer,表述性状态转移)。

其四,借助JSR330规范(Dependency Injection for Java)、JSR299规范(Contexts and Dependency Injection for Java,CDI)加强了依赖注入能力。

其五,使用JSR303规范(Bean V alidation)完成各种复杂校验工作,这是一项非常实用的技术。

从这一列表能够看出,Java EE 6编程模型确实改进不少,而且在很多细节上下了不少功夫。然而,如下几方面的问题确实也需要开发者仔细考虑一下。

其一,完全借助Annotation描述整个企业应用的所有元数据是否合适?毕竟,这容易让开发者“只见树木,不见森林”。

其二,直接借助Java EE API是否能够很方便实施各种代码级的测试工作,尤其是集成

测试?

其三,直接采纳Java EE API研发企业应用的研发效率如何?

其四,Java EE 6应用的可移植性能够得到保证吗?

其五,依据以往经验,我们开发的企业应用是否启用了大量开源技术(包括第三方商业技术),比如Struts、Hibernate、Ehcache、Quartz、Apache DBCP、AspectJ?难道要我们编写集成开源技术的各种代码?

其六,OSGi将会在不远的将来得到流行,Java EE应用是否能够顺利移植到新的OSGi 环境中?虽然不少应用服务器厂商都拥抱了OSGi,但这只是它们内部行为,它们并没有将OSGi行为暴露给开发者。

其七,其他未列思考,留给开发者。

在面对这些问题时,Java EE 6编程模型不会给开发者“敏捷”的印象,但这绝不会影响到Java EE在企业、软件厂商、开发者心中的位置,因为这是不同层次的问题。为了做得更好,我们需要提升敏捷能力。

1.1.2盘旋于具体与抽象之间

Java EE 6作为大多数厂商一起制定的重要技术标准、企业运算平台,为保证它的通用性,其内容必然是较抽象的。然而,在借助Java EE 6日常研发工作期间,开发者必须解决各种具体问题,比如日志管理、安全性管理、任务调度、应用的可移植性、快速实施测试工作(包括TDD的实施)等。

我们注意到,在企业应用领域流行多年的Spring(https://www.doczj.com/doc/199260187.html,/)能够同时摆正具体与抽象的关系,比如对Java EE进行了多种层面的抽象和集成。有关Spring是如何抽象和集成Java EE方面的内容,本章并不想深入阐述,开发者将会在本书的后续章节中一一阅读到它们。开发者暂时只需要记住一点,Spring巧妙地解决了上节列举出的若干问题,又没有降低Java EE 6的企业级能力。Spring不仅继承了Java EE 6的优秀特质,还加强了它们。

在拥抱Java EE的前提下,Spring尽可能抽象及集成各种主流技术,并暴露统一、简单的客户视图给开发者,即Spring编程模型。因此,“架构级”的Spring够敏捷!我们通常将Spring看成是架构级的框架,因为它能够支撑起整个企业应用,应用的各个组成部分都围绕它打转。

1.2挖掘Spring 3.1的架构价值

为保证Spring 3.1平台的品质,SpringSource团队作出了许多关键决定,并推出了堪称端到端的一整套产品。比如,面向运行时的Spring Framework、面向开发者的SpringSource Tool Suite、面向Android的Spring Android、面向安全性领域的Spring Security等。它们无不散发出Spring 3.1的架构价值。

1.2.1精耕细作于Java EE 6平台

过去的多年中,Spring一直在同Java EE并肩战斗。Spring 3.1将全面拥抱Java EE 6平台。Java EE作为广泛使用的企业计算平台,其企业运算能力不言而喻。一直以来,Java EE 暴露给开发者的客户视图不够理想,比如研发效率低、实施测试工作较困难等。Spring看到这些弊端,并试图解决它们。结果是喜人的,毕竟Spring已经得到大多数企业、软件厂商、开发者的拥护。

Java EE的每次重大升级,Spring总是会积极跟进。同Java EE 5相比,Java EE 6改进的内容非常多。比如,将注解技术(Annotation)应用到Java EE的每个角落、支持REST 架构、Web层技术进行了全面升级(Servlet 3.0、JSF 2.0)、实用和细粒度的依赖注入(JSR330和JSR299)、Bean Validation(JSR303)、EJB 3.1的推出、JPA 2.0等。全面跟进它们,成了Spring 3.0的主旋律之一。

除了跟进Java EE 6外,Spring 3.1新增或加强的其他内容非常多,比如要求Java SE 5.0+、引入Spring表达式语言(Expression Language,简称SpEL)、借助注解定义受管Bean(@Bean、@Lazy等)、OXM(即对象到XML 的映射)集成支持、嵌入式数据库支持等。这些特性在Spring 3.0中占据着重要位置。

1.2.2面向Spring的SpringSource Tool Suite集成开发工具

SpringSource Tool Suite(简称STS,https://www.doczj.com/doc/199260187.html,/products/sts)集成开发工具构建在WTP基础之上,它是针对Spring开发者而来的。加上,它是SpringSource公司官方打造的,而且完全免费。

STS内置大量Eclipse插件,比如Spring IDE、AspectJ开发工具(https://www.doczj.com/doc/199260187.html,/ajdt/,

AJDT)、M2Eclipse(https://www.doczj.com/doc/199260187.html,/)、Ant集成、JUnit测试、WTP/RCP支持、OSGi集成支持等。借助STS,开发者能够以可视化或图形化方式完成Spring配置文件的编写,比如Spring Web Flow页面流程、Spring Batch作业。

在STS内部存在一STS Dashboard(仪表盘),透过它,开发者能够积极跟进Spring的最新发展趋势、Spring教程、知识库等。

可以看出,STS为Spring(OSGi)应用的开发提供了一端到端的解决方案。附录A完整介绍了STS的安装及使用。本书也全面启用了STS,以支持Spring应用的研发。

1.2.3全面拥抱OSGi 4.2

OSGi是目前最具潜力,能够将Java EE带入下一个黄金10年的重要技术。一直以来,开发者及企业用户对Java EE的模块化和动态能力并不满意,这些都是Java EE的软肋。尽管Java EE 6的模块化能力加强了不少,比如Servlet 3.0引入的Web Fragment、但还是不够彻底。相反,OSGi的这些能力很强,但其企业级能力稍差。因此,业界在努力将OSGi引入到Java EE领域,或者说在集成它们的各自优势。

Spring看到这一趋势,并推出了Spring DM项目(https://www.doczj.com/doc/199260187.html,/osgi),还参与OSGi 4.2规范的制定工作。与此同时,各种Spring项目的正式发布版都遵循OSGi的约定,各自的JAR包都是标准的OSGi Bundle,而且项目内部结构进行了全面的梳理,使得各Spring项目更模块化、遵循OSGi规范,以最大程度享用OSGi带来的巨大价值。比如,我们熟知的Spring Framework和Spring Security全面拥抱了OSGi。实际上,所有的Spring 项目都是如此。

值得注意的是,Spring DM已经成为了Gemini(https://www.doczj.com/doc/199260187.html,/gemini/)的子项目,并被更名,即Gemini Blueprint。SpringSource原先推出的、基于OSGi的dm Server也捐献给了Eclipse,即Virgo(https://www.doczj.com/doc/199260187.html,/virgo/)项目。

有关OSGi 4.2、Gemini、Virgo的更多资讯,开发者可参考我们写作的《未来10年:OSGi、Gemini、Virgo》电子图书。

1.2.4开发者决定一切

在采纳Spring 3.1平台研发企业应用期间,开发者会发现,他们可以随心所欲。基于

Spring的基代码能够同时运行在不同的企业环境中,比如Java SE、Java EE、OSGi,而且在这些差异化的环境中表现出的行为是惊人的一致。

Spring从来就不会为开发者做决定,而只是尽可能给出多种选择。比如,为实现同RDBMS的交互,开发者几乎可借助Spring敏捷使用到各种技术,从JDBC(JdbcTemplate),到O/R Mapping技术(JPA、Hibernate、iBATIS、JDO)。

因此,开发者能够决定一切,Spring从来也是支持的,因为Spring 3.1平台来自于开发者,并服务于开发者。

1.3下载及构建Spring 3.1

本节将围绕Spring 3.1的下载和构建工作展开论述。

1.3.1下载Spring 3.1正式发布版

现如今,为下载各种Spring项目的官方发布版,比如Spring Framework、Spring Security、Spring Web Services,开发者需要到https://www.doczj.com/doc/199260187.html,/download/community网址找寻它们,图1-1给出了对应的界面截图。

图1-1 下载Spring 3的操作界面

当前,最新的Spring Framework发布版是3.1.0.M2,它对应2个不同的下载包。其中,spring-framework-3.1.0.M2.zip仅仅持有Spring源码和Spring JAR包集合,而spring-framework-3.1.0.M2-with-docs.zip新增了各种文档,比如API规范、Spring Framework Reference Documentation。下载并解压它们后,透过图1-2能够了解到,开发者将需要根据自身的情况,而启用其中的若干JAR包。

图1-2 解压后的Spring Framework

1.3.2基于SVN库持续构建Spring源码

目前,SpringSource官方主要采用SVN存储Spring项目的源码及文档。如果需要或者感兴趣,开发者可以持续从SVN库(https://https://www.doczj.com/doc/199260187.html,/svn/spring-framework/trunk/)获得最新的Spring项目快照,并构建出最新版本的Spring。为达到这一目的,开发者可依据如下给出的操作步骤进行。

其一,借助svn命令行或Subclipse,从SVN库将Spring源码下载到开发者机器中。这里假定将Spring源码下载到D:\springsource\workspace\spring-framework位置。下面展示了svn命令行的使用。

svn co https://https://www.doczj.com/doc/199260187.html,/svn/spring-framework/trunk/ spring-framework 其二,于D:\springsource\workspace\spring-framework\build-spring-framework目录运行ant 命令行,即构建Spring源码。整个构建过程可能会持续20分钟左右,时间主要取决于机器及网络状况。注意,在运行它之前,要设置好Ant相关内容,尤其是要设置好ANT_OPTS 环境变量,使得宿主Ant的JVM有足够的内存支撑构建工作。下面给出了针对Ant设定的环境变量示例。或者,开发者可参考build-spring-framework目录中的readme.txt说明文件。ANT_HOME=D:\apache-ant-1.8.2

ANT_OPTS=-Xms256m -Xmx1024m -XX:MaxPermSize=256m

其三,细心的开发者会发现,spring-framework目录由多个Eclipse工程构成,比如AOP (org.springframework.aop)、事务集成(org.springframework.transaction)、O/R Mapping集成(org.springframework.orm)等。如果开发者需要在Eclipse中操控这一Spring项目快照,则在将这些Eclipse工程导入之前,要在Eclipse(STS)中设置“IVY_CACHE”类路径变量,其指向“D:/springsource/workspace/spring-framework/ivy-cache/repository”位置,图1-3展示了这一设置。可以看出,Spring源码是基于Apache Ivy组织的,上述ant命令行执行期间,会从远程Ivy库下载所需的各种第三方JAR包,并存储到ivy-cache位置。

图1-3 设置IVY_CACHE类路径变量

总之,开发者可以根据自身的不同情况,来合理构建或编译直接从SVN版本库获得的Spring源码。

1.4小结

本章大致描述了Java EE 6的缺陷、借助Spring 3.1平台实施Java EE 6的重要意义、以及Spring 3.1的下载和构建。

从下章开始,我们将逐步渗透到Spring 3.1平台的各个角落中。

2控制反转容器

DI容器(或称之控制反转容器,Inversion of Control,IoC),负责管理宿主其中的Spring 受管Bean(POJO),比如生命周期管理、协作者、事件分发、资源查找等。与此同时,Spring 内置了一流的AOP技术实现,并同AspectJ进行了无缝集成。

Spring提供的IoC容器和AOP技术实现构成了Spring的核心内容,它们是Spring元框架,其中Spring内置的Java EE服务抽象和集成便是架构在这一元框架基础上的。

本章内容将围绕DI容器展开,下章将围绕AOP技术实现展开。

2.1DI及Spring DI概述

类似于EJB容器管理EJB组件一样,Spring DI容器负责管理宿主在其中的受管Bean,或者称之为受管POJO、Spring Bean等。就目前来看,Spring内置了两种基础DI容器,即BeanFactory和ApplicationContext,它们间的关系见图2-1。

图2-1 两种基础DI容器

下面来分别研究这两种DI容器。

2.1.1面向Java ME/Java SE的BeanFactory

BeanFactory主要用在内存、CPU资源受限场合,比如Applet、手持设备等。它内置了最基础的DI功能,比如配置框架、基础功能。开发者经常会使用到Spring内置的图2-2实现,即XmlBeanFactory。

图2-2 XmlBeanFactory

在企业级计算环境,开发者往往要使用ApplicationContext,而BeanFactory是不能够胜

任的。

2.1.2面向Java EE的ApplicationContext

在BeanFactory基础上,ApplicationContext提供了大量面向企业计算所需的特性集合,比如消息资源的国际化(i18n)处理、简化同Spring AOP的集成、内置事件支持、针对Web 应用提供了诸多便利、资源操控等。开发者会经常在各种场合使用到图2-3列举出的DI实现。比如,面向Web应用的XmlWebApplicationContext容器、基于注解存储DI元数据的AnnotationConfigApplicationContext容器、适合于各种场景的ClassPathXmlApplicationContext 和FileSystemXmlApplicationContext、面向Portal应用的XmlPortletApplicationContext。

图2-3 常见ApplicationContext实现

除此之外,Spring还内置了一些其它类型的ApplicationContext实现,比如面向JCA资源适配器环境的ResourceAdapterApplicationContext。

值得注意的是,ApplicationContext继承了BeanFactory的所有特性。无论如何,本书的所有场合将围绕这两种类型的DI容器展开阐述。

2.2多种依赖注入方式

Spring DI容器支持多种不同的依赖注入类型,比如设值注入、构建器注入、属性注入、方法注入等。接下来,我们将围绕Eclipse iocdemo项目阐述它们。

2.2.1设值注入

设值(setter)注入,指通过调用setter方法,从而建立起对象间的依赖关系。比如,BankSecurityServiceImpl实现类定义了如下setBankSecurityDao()设值方法。

public class BankSecurityServiceImpl implements IBankSecurityService { private IBankSecurityDao bankSecurityDao;

Process Monitor 中文帮助文档

Process Monitor 帮助文档 【介绍】 Process Monitor(进程监视器)是一个Windows下的高级监视工具,可以实时显示文件系统、注册表和进程/线程的活动。它将Sysinternals以前的两个实用程序Filemon(文件监视器)和Regmon(注册表监视器)结合在一起,并且添加了大量的改进功能,包括丰富的非破坏性的过滤器,全面的事件属性——如会话ID和用户名,可靠的进程信息,对每个操作带有集成的调试符号支持的完整线程堆栈,同步记录日志文件等等。Process Monitor独特的强大功能将使它成为你在系统故障排除和恶意软件查杀中使用的核心实用程序。 Process Monitor可以在Windows 2000 SP4 with Update Rollup 1、Windows XP SP2、Windows Server 2003 SP1、Windows Vista,以及64位版本的Windows XP、Windows Server 2003 SP1和Windows Vista等系统上运行。(译者注:Process Monitor不支持Windows 98、Windows NT等以前的系统,不过可以使用Filemon和Regmon来实现它的部分功能。) 【在Filemon和Regmon基础上的改进】 Process Monitor的用户界面和选项与Filemon和Regmon很相似,但它是从头全部重写的,并且包括许多重大改进,例如: (此处引用自wbpluto的汉化版说明) ? 监视进程和线程的启动和退出,包括退出状态代码 ? 监视映像(DLL 和内核模式驱动程序) 加载 ? 捕获更多输入输出参数操作 ? 非破坏性的过滤器允许你自行定义而不会丢失任何捕获的数据 ? 捕获每一个线程操作的堆栈,使得可以在许多情况下识别一个操作的根源 ? 可靠捕获进程详细信息,包括映像路径、命令行、完整性、用户和会话ID等等 ? 完全可以自定义任何事件的属性列 ? 过滤器可以设置为任何数据条件,包括未在当前视图中显示的 ? 高级的日志机制,可记录上千万的事件,数GB的日志数据 ? 进程树工具显示所有进程的关系

ABAQUS帮助范例中文索引

帮助文档ABAQUS Example Problems Menual 1.静态应力/位移分析 1.1.静态与准静态应力分析 1.1.1.螺栓结合型管法兰连接的轴对称分析 1.1. 2.薄壁机械肘在平面弯曲与内部压力下的弹塑性失效 1.1.3.线弹性管线在平面弯曲下的参数研究 1.1.4.橡胶海绵在圆形凸模下的变形分析 1.1.5.混泥土板的失效 1.1.6.有接缝的石坡稳定性研究 1.1.7.锯齿状梁在循环载荷下的响应 1.1.8.静水力学流体单元:空气弹簧模型 1.1.9.管连接中的壳-固体子模型与壳-固体耦合的建立 1.1.10.无应力单元的再激活 1.1.11.黏弹性轴衬的动载响应 1.1.1 2.厚板的凹入响应 1.1.13.叠层复合板的损害和失效 1.1.14.汽车密封套分析 1.1.15.通风道接缝密封的压力渗透分析 1.1.16.震动缓冲器的橡胶/海绵成分的自接触分析 1.1.17.橡胶垫圈的橡胶/海绵成分的自接触分析 1.1.18.堆叠金属片装配中的子模型分析 1.1.19.螺纹连接的轴对称分析 1.1.20.周期热-机械载荷下的汽缸盖的直接循环分析 1.1.21.材料(沙产品)在油井中的侵蚀分析 1.1.2 2.压力容器盖的子模型应力分析 1.1.23.模拟游艇船体中复合涂覆层的应用 1.2.屈曲与失效分析 1.2.1.圆拱的完全弯曲分析 1.2.2. 层压复合壳中带圆孔圆柱形面的屈曲分析 1.2.3.点焊圆柱的屈曲分析 1.2.4. K型结构的弹塑性分析 1.2.5. 不稳定问题:压缩载荷下的加强板分析 1.2.6.缺陷敏感柱型壳的屈曲分析 1.3. 成形分析 1.3.1. 圆柱形坯料墩粗:利用网格对网格方案配置与自适应网格 的准静态分析 1.3. 2. 矩形方盒的超塑性成型 1.3.3. 球形凸模的薄板拉伸 1.3.4. 圆柱杯的深拉伸 1.3.5. 考虑摩擦热产生的圆柱形棒材的挤压成形分析 1.3.6. 厚板轧制成形分析 1.3.7. 圆柱杯的轴对称成形分析 1.3.8. 杯/槽成形分析 1.3.9. 正弦曲线形凹模锻造

java中文帮助文档

所有类 chm格式可加Q 1281110301索要AbstractAction AbstractBorder AbstractButton AbstractCellEditor AbstractCollection AbstractColorChooserPanel AbstractDocument AbstractDocument.AttributeContext AbstractDocument.Content AbstractDocument.ElementEdit AbstractExecutorService AbstractInterruptibleChannel AbstractLayoutCache AbstractLayoutCache.NodeDimensions AbstractList AbstractListModel AbstractMap AbstractMethodError AbstractPreferences AbstractQueue AbstractQueuedSynchronizer AbstractSelectableChannel AbstractSelectionKey AbstractSelector AbstractSequentialList AbstractSet AbstractSpinnerModel AbstractTableModel AbstractUndoableEdit AbstractWriter AccessControlContext AccessControlException AccessController AccessException Accessible AccessibleAction AccessibleAttributeSequence AccessibleBundle AccessibleComponent AccessibleContext AccessibleEditableText AccessibleExtendedComponent

abaqus帮助文档中轮胎的例子

外胎是由胎体、缓冲层(或称带束层)、胎面、胎侧和胎圈组成 1、Bead:胎唇部; 2、sidewall:胎侧; 3、tread:胎面;4belt:缓冲层;5、carcass:胎体帘布层。 3.1.8 Treadwear simulation using adaptive meshing in ABAQUS/Standard 3.1.8使用自适应网格在Abaqus/Standard中进行轮胎磨损仿真分析 软件:Abaqus/Standard 这个例子在Abaqus/Standard中使用自适应网格技术对稳态滚动的轮胎进行建模。这次分析使用类似“Steady-state rolling analysis of a tire”Section 3.1.2来建立稳态滚动轮胎的接地印迹和状态。接着,进行稳态传输分析来计算和推测持续分析步,在稳态过程中产生一个近似瞬态磨损解。 问题描述和建模 轮胎描述和有限元建模和“Import of asteady-state rolling tire,”Section 3.1.6一样,但是有一些不一样,在这里需要指出。由于这次分析的中心是轮胎磨损,所以胎面建模需要更加精细。另外台面使用线性弹性材料模型来避免超弹性材料在网格自适应过程中不收敛。 图1所示的是轴对称175SR14轮胎的一半模型。橡胶层用CGAX4和 CGAX3单元建模。加强层使用带有rebar层的SFMGAX1单元模拟。橡胶层和加强层之间潜入单元约束。橡胶层的弹性模量为6Mpa,泊松比为0.49。剩下的轮胎部分用超弹性材料模型模拟。多应变能使用系数C10=10^6,C01=0和D1=2*10^8。用来模拟骨架纤维的刚性层和径向成0°,弹性模量为9.87Gpa。压缩系数设置成受拉系数的百分之一。名义应力应变数据用马洛超弹性模型定义材料本构关系。Belt fibers材料的拉伸弹性模量为172.2Gpa。压缩系数设置成拉伸系数的的百分之一。Belt的纤维走向在轴向±20°内。 旋转前面的轴对称一半模型可得到局部三位模型,如图2所示。我们关注轮胎印迹区域的网格。将局部模型镜像后可得到完整的三维模型。 自适应网格在轮胎磨损计算中的局限性 在这个例子中使用自适应网格必须严格遵守以下条件: 1、圆柱网格不支持自适应网格并且在本例子也没有使用 2、由于梯度状态变量的变形错误严重,自适应网格使用超弹性材料时表现很差。因此胎面用弹性材料定义 3、在自适应网格的范围内不能用包含刚性层的嵌入网格。 4、自适应网格通过网格几何特征来决定自适应网格在自由面光滑的方向,网格几何的特征通常不容易和描述的磨损方向一致。因此,下面将讨论到,通常你需要做额外的工作来明确地描述磨损的方向。 加载

spring-3.1.0中文版api帮助文档

Spring 3.x权威开发指南:实施Java EE 6 的利器 2011年8月31日

目录 序 ............................................................................................................................................VIII 前言 ........................................................................................................................................... X 1借助Spring 3.1实施Java EE 6 . (1) 1.1Java EE 6编程模型讨论 (1) 1.1.1Java EE 6够敏捷,No! (1) 1.1.2盘旋于具体与抽象之间 (2) 1.2挖掘Spring 3.1的架构价值 (3) 1.2.1精耕细作于Java EE 6平台 (3) 1.2.2面向Spring的SpringSource Tool Suite集成开发工具 (3) 1.2.3全面拥抱OSGi 4.2 (4) 1.2.4开发者决定一切 (4) 1.3下载及构建Spring 3.1 (5) 1.3.1下载Spring 3.1正式发布版 (5) 1.3.2基于SVN库持续构建Spring源码 (6) 1.4小结 (7) 2控制反转容器 (8) 2.1DI及Spring DI概述 (8) 2.1.1面向Java ME/Java SE的BeanFactory (8) 2.1.2面向Java EE的ApplicationContext (9) 2.2多种依赖注入方式 (9) 2.2.1设值注入 (9) 2.2.2构建器注入 (11) 2.2.3属性注入 (12) 2.2.4方法注入 (12) 2.3借助Autowiring策略智能注入协作者 (13)

ABAQUS2016版安装步骤.pdf

64位Abaqus2016 Win7安装教程 (一颗星星亲测安装)(关闭防火墙)(关闭杀毒软件)Abaqus2016安装共分为三部分,即License、Solver、CAE,这三部分依次安装。安装文件夹下的内容如下图所示。1位License,2为Solver安装部分,3位CAE安装部分。安装前需要将IE浏览器升级至IE10或IE11,我升级至IE10。 1.License安装 1.在_SolidSQUAD_文件夹下,将所有的文件复制到您要安装的文件夹下,如我的安装文件夹为C:\Simulation Software\ABAQUS 2016\License。 2.复制完成后,打开ABAQUS.lin文件,以记事本格式,如下图,将this_host改为您的计算机名,切记其余的不要改动。

3.右键点击server_install.bat,以管理员身份打开。(只需打开以下即可)。 4.右键点击Imtools.exe,出现下图。 5. 点击Config Serverce,出现下图,选在第1步中复制后的文件,此处和Abaqus 以前的版本一致。 6.点击Start/Stop/Reread,再点击Start Server。

7.至此License安装完成。环境变量不需设置。 2. Solver安装 1. 首先安装3DEXPERIENCE_AbaqusSolver,打开此文件夹,以管理员身份运行Steup.exe。 2.点击下一步。 3.选择安装目录,并下一步。

4.点击下一步。 5.点击安装。 6.安装过程中

7.显示安装完成。 8. 安装CAA_3DEXPERIENCE_AbaqusSolver,打开此文件夹,以管理员身份运行Steup.exe。 9.

总结的Javadoc转换chm帮助文档的四种方法

https://www.doczj.com/doc/199260187.html,/blog/1051688 李顺利 [2010年1月6日] 关键词 Javadoc chm 转换 jd2chm javadoc2chm javadoc2help Javadoc2chm 中文乱码李顺利 前言 朋友,当您在一个项目完成后,是不是需要把你的源码打包并且把注释打成Javadoc交给客户,Eclipse或者MyEclipse自动打成的Javadoc文档都是基于网页格式的,打开是很方便,不过真的用的时候,搜索每个方法或者什么的就很麻烦了,而chm帮助文档格式不但文件小,查阅都很方便,所以网上就出现了很多把Javadoc转换为chm格式的帮助文档的软件/工具或者方法。 自己最近需要真的需要这个方面的需求,查阅了网上很多方法,发现很多都是写的很不详细,对于我这种刚接触的很是不清楚,经过我的学习和理解,现提供从网上总结的Javadoc转换chm帮助文档的四种方法,详细提供各个转换的步骤供大家学习,并且提供英文版本和中文版本Javadoc转换过程中出现的问题,特别是中文的时候出现的乱码现象,也提供一些解决方案。 预处理 转换之前需要了解的是chm是微软公司发布的一种帮助文档格式,所有,要使用下面的方法转换,请先安装HTML Help Workshop(后面简称为HHW)(实际上后面的一些处理有些都是在上面操作的) https://www.doczj.com/doc/199260187.html,/en-us/library/ms669985.aspx,下载完毕后就是安装了,很简单。 还有一个很重要的问题,就是如何把项目打成Javadoc,这有人应该会说,很简单啊,就是使用Eclipse或者Myeclipse的Export功能,是的,这是可以,但是有些小的方面还是需要我们强烈注意的

ABAQUS关键字(keywords)

ABAQUS帮助里关键字(keywords)翻译 (2013-03-06 10:42:48) 转载▼ 分类:abaqus 转自人人网 总规则 1、关键字必须以*号开头,且关键字前无空格 2、**为注释行,它可以出现在中的任何地方 3、当关键字后带有时,关键词后必须采用逗号隔开 4、参数间都采用逗号隔开 5、关键词可以采用简写的方式,只要程序能识别就可以了 6、不需使用隔行符,如果参数比较多,一行放不下,可以另起一行,只要在上一行的末尾加逗号便可以 ----------------------------------------------------------------------------------------------------------------------------------------- *AMPLITUDE:幅值 这个选项允许任意的载荷、和其它指定的数值在一个分析步中随时间的变化(或者在ABAQUS/Standard分析中随着的变化)。 必需的参数: NAME:幅值曲线的名字 可选参数: DEFINITION:设置definition=Tabular(默认)给出表格形式的幅值-时间(或幅值-频率)定义。设置DEFINITION=EQUALLY SPACED/PERIODIC/MODULATED/DECAY/SMOOTH STEP/SOLUTION DEPENDENT或BUBBLE来定义其他形式的幅值曲线。 INPUT:设置该参数等于替换输入文件名字。 TIME:设置TIME=STEP TIME(默认)则表示分析步时间或频率。TIME=TOTAL TIME表示总时间。 VALUE:设置VALUE=RELATIVE(默认),定义相对幅值。VALUE=ABSOLUTE表示绝对幅值,此时,行中载荷选项内的值将被省略,而且当温度是指定给已定义了温度TEMPERATURE=GRADIENTS(默认)梁上或壳上的,不能使用ABSOLUTE。 对于DEFINITION=TABULAR的可选参数: SMOOTH:设置该参数等于 DEFINITION=TABULAR的数据行 第一行 1、时间或频率 2、第一点的幅值(绝对或相对) 3、时间或频率 4、第二点的幅值(绝对或相对) 等等 基本形式: *Amplitude,name=Amp-1 0.,0.,0.2,1.5,0.4,2.,1.,1.

Cinema 4D 汉化帮助文档PDF.pdf

Cinema 4D 汉化帮助文档聚众翻译v2015.09.06 【前言】 这只是一个提议,希望有更多朋友的加入,目的没打算是把这玩意全部汉化完成,其中的困难非一小撮人可以解决的。只想能发动很多的朋友来共同学习,古语有云“眼过千遍不如手过一遍”。 其次,也是因为国内盗版盛行,官方是不会做中文帮助文档。倡议大伙多多支持正版软件以求获得官方中文帮助文档的发布 很早以前R13版本时,CG天下(论坛)曾发动过付费的帮助文档的汉化,最终任务艰巨而放弃(猜的)。我在想象,如果这一次的倡议,参与翻译的同学名字能在这个页面写上一千多位,那么真就是全民汉化的奇迹了,目前也就“呵呵”而已吧。做过总比想了不错的好,不怕失败就怕放弃。 话说回来,校对同学是很重要的,需要对C4D软件很了解,校正其中命令菜单的翻译。然后是翻译,还有不可缺少的编辑同学,翻译完成,需要填写进html文档中。估计会有很多同学不会编辑html,当然,若自己能编辑最好了,你可以独立发布,也可以整理在我发布的这个版本中。 支持的同学再多,也敌不过你的加入。 其中菜单命令的翻译,都是在软件中切换中英文来查找的官方中文命令。希望刚开始能有个严谨的态度吧。虽然我也不会英文,也是通过各种汉化工具来做的,每学习一两条,从此进步速速哒,哈哈。 【汉化方法】 方法有多中,首先打开软件安装目录。可以在桌面图标上右键→打开文件所在的位置。或者在这个目录下“X:\Program Files\MAXON\CINEMA 4D R17\help\US\html 全部都是html文件,三千多个。Ctrl+a 全选,右键→属性 取消“只读”的勾选,这样才能编辑文档。 一、使用 notepad++ 软件修改。全部代码编辑,适合码农,编辑性能卓越,操作指数困难。从C4D中打开帮助面板,选择一个你想翻译的页面。右键→属性 地址栏中“5425.html”便是文件名称。 然后在帮助文档的文件夹中“X:\Program Files\MAXON\CINEMA 4D R17\help\US\html”搜索“5425.html”使用notepad++软件打开。

中文帮助文件精选

英文版对应中文目录(2009) 3 执行概况 3 科研与开发 3 市场营销 4 生产 4 财务 5 公司的成功 5 传感器工业 5 传感器的顾客 5 各群体的购买标准 6 定位 7 价格, 年龄, 和可靠性 7 各群体的标准 8 Foundation?快讯 8 首页, 股票和债券总结, 财务报表和生产分析 8 群体分析 9 可达性、市场占有率和产品排行榜 10 市场份额报告和直观图 10 人力资源 / 全面质量管理报告 11 预计报告和年度报告11 资产负债表 11 现金流量表 11 收益表 12 购买决策 12 粗略删减 12 粗删阶段的定位 12 粗删阶段的价格 12 粗删阶段的可靠性 13 精细筛选 13 精选阶段的定位 13 精选阶段的价格 13 精选阶段的可靠性 14 年龄 14 市场因素 14 知名度 14 获得产品难易度 14 卖方市场 15 市场规模与发展 15 以销售量计算的市场规模 15 生产 15 科研与开发 16 改变速度, 尺寸和可靠性 16 开发新产品 16 项目管理 17 产品的年龄 18 市场营销 18 产品定价 18 宣传和销售预算 19 销售预测 20 生产 20 生产力 21 改变自动化程度 21 财务 21 短期债务 22 债券 23 股票 23 紧急贷款 23 信用政策 24 附加模块 24 人力资源 25 全面质量管理 25 形式分析 25 直观图 26 客户需求中心和需求的改变 26 理想点 27 工业需求分析 28 生产能力分析 29 边际分析 30 边际潜力 31 消费者调查报告 32 预测 32 基本预测方法 32 定性分析 33 年底顾客调查报告 33 预测, 预计报告和年底的现金状况 33 最坏情况 / 最好情况 34 六大基本策略34 以产品寿命周期为中心的成本领袖 策略 34 以产品寿命周 期为中心的区别策略 35 全面成本领袖策略 35 全面区别策略 35 壁龛成本领袖策略(低技术) 35 壁龛区别策略(高技术) 36 平衡计分卡36 对你公司的指导 37 索引

ABAQUS帮助文档

初始损伤对应于材料开始退化,当应力或应变满足于定义的初始临界损伤准则,则此时退化开始。Abaqus 的Damage for traction separation laws 中包括:Quade Damage、Maxe Damage、Quads Damage、Maxs Damage、Maxpe Damage、Maxps Damage 六种初始损伤准则,其中前四种用于一般复合材料分层模拟,后两种主要是在扩展有限元法模拟不连续体(比如crack 问题)问题时使用。前四种对应于界面单元的含义如下:Maxe Damage 最大名义应变准则:Maxs Damage 最大名义应力准则:Quads Damage 二次名义应变准则:Quade Damage 二次名义应力准则 最大主应力和最大主应变没有特定的联系,不同材料适用不同准则就像强度理论有最大应力理论和最大应变理论一样~ ABAQUS帮助文档10.7.1 Modeling discontinuities as an enriched feature using the extended finite element method 看看里面有没有你想要的 Defining damage evolution based on energy dissipated during the damage process 根据损伤过程中消耗的能量定义损伤演变 You can specify the fracture energy per unit area,, to be dissipated during the damage process directly. 您可以指定每单位面积的断裂能量,在损坏过程中直接消散。Instantaneous failure will occur if is specified as 0. 瞬间失效将发生 However, this choice is not recommended and should be used with care because it causes a sudden drop in the stress at the material point that can lead to dynamic instabilities.

Sapera LT帮助文档 中文版

Sapera帮助文档 简介:Sapera LT 是一套用于图像采集、显示和控制的独立于硬件以外的 C 和C++ 软件库,支持所有DALSA Coreco 硬件平台。它的综合功能集包括程序可移植性、多样化的相机控制、灵活的显示和管理功能,以及易于使用的应用开发向导。Sapera LT 与Microsoft Visual Studio C/C++、.Net、Visual Basic 6.0 和Borland C++ Builder 兼容,支持Windows XP、2000 和NT 平台。 一.Sapera++介绍 Sapera++是Sapera LT为用户提供的API. Sapera++ 包含两大类:基础应用类(Basic Classes)和GUI类(GUI Classes)。 1.基础应用类: 提供了用户进行图像开发的基本函数,命名方式为Sap+类功能名,其结构如下图所示: Sapera Basic Class 函数功能介绍: Data Classes: 功能:下属多个数据类,每一个数据类管理了一种特定数据类型 下属数据类:SapData Class SapDataHSI Class SapDataHSV Class SapDataFloat Class SapDataFPoint Class SapDataFRGB Class SapDataMono Class SapDataPoint Class SapDataRGB Class

SapDataRGBA Class SapDataYUV Class ●SapAcquisition 功能:控制与板卡相连接的采集设备 常用函数:SapAcquisition::SapAcquisition SapAcquisition::Create SapAcquisition::Destroy SapAcquisition::ApplyLut SapAcquisition::GetParameter, SapAcquisition::SetParameter SapAcquisition::GetSignalStatus SapAcquisition::IsSignalStatusAvailable ●SapAcqCallbackInfo 功能:存储SapAcquisition类回调的内容 常用函数:SapAcqCallbackInfo::GetContext SapAcqCallbackInfo::GetSignalStatus ●SapAcqDevice 功能:由设备读、写信息,还可直接发送、寄存事件至设备。常用于直接连接电脑的相机(如GigE相机) 常用函数:SapAcqDevice::SapAcqDevice SapAcqDevice::Create SapAcqDevice::Destroy SapAcqDevice::GetConfigFile, SapAcqDevice::SetConfigFile SapAcqDevice::UpdateFeaturesFromDevice ●SapAcqDeviceCallbackInfo 功能:存储SapAcqDevice类回调的内容 常用函数:SapAcqDeviceCallbackInfo::SapAcqDeviceCallbackInfo SapAcqDeviceCallbackInfo::GetAcqDevice ●SapBayer 功能:Bayer转换操作(分为软件和硬件实现两种) 常用函数:SapBayer::WhiteBalance SapBayer::EnableLut SapBayer::GetAlign, SapBayer::SetAlign SapBayer::GetWBGain, SapBayer::SetWBGain ●SapBuffer 功能:操作buffer资源 常用函数:SapBuffer::SapBuffer SapBuffer::Create SapBuffer::Clear SapBuffer::Destroy SapBuffer::GetParameter, SapBuffer::SetParameter SapBuffer::GetPitch SapBuffer::GetPixelDepth, SapBuffer::SetPixelDepth SapBuffer::GetIndex, SapBuffer::SetIndex

EA帮助文档(中文)

## Enterprise Architect帮助文档 帮助文档翻译

目录 简介 (2) 从此处开始 (2) 使用EA (2) 用EA建模 (2) 模型管理 (2) 项目管理 (2) 编码工程 (2) 调试和配置文档 (2) 数据建模 (2) 一张数据表格 (2) 创建一个表格 (3) 设置表格属性 (4) 创建字段 (9) 创建Oracle包 (11) 主键 (11) 外键 (12) 存储过程 (17) 视图 (21) 索引,触发器和检查约束 (23) 生成DDL (25) 把一个包生成DDL (25) 进程的数据类型转换 (26) 包的数据类型转换 (27) 数据库管理系统数据类型 (28) 从开放式数据库中导入数据库模式 (29) 转化MDA (33) XML技术 (33) 生成文档 (33) EA扩展 (33) UML字典 (33) 项目角色和EA (33) 授权管理 (33) 术语 (33)

简介 从此处开始 使用EA 用EA建模 模型管理 项目管理 编码工程 调试和配置文档 数据建模 一张数据表格 下面展示了一个数据模型表,上面有三个表格,相互之间用主外键连接起来。上面同样展示了主外键的操作。你也可以添加其他操作:检验,触发器,约束性,索引。

一个数据模型表在EA中表现为一个类表,创建方法和其他类型的表一样。 创建一个表格 什么是表 关系模型数据库中,最基础的模型结构就是“表”。一个表代表了具有相同结构的一系列记录。UML数据模型配置文件中的表表现为一个衍型类,这就是说,一个带着衍型的类元素作用于它之上。一个表的图标表示在图表的右上方。 创建一个表 通过以下步骤创建一个表: 1、选择一个表; 2、选择工具条选项中的更多工具|扩展|数据模型菜单; 3、点击元素列中的表格元素,然后点击表。一个表格就展示在表上了;

abaqus子结构帮助文档

OVERVIEW OF SUBSTRUCTURES IN Abaqus/CAE 39.Substructures This section explains how to integrate substructures into your analysis in Abaqus/CAE.The following topics are covered: ?“Overview of substructures in Abaqus/CAE,”Section39.1 ?“Generating a substructure,”Section39.2 ?“Specifying the retained nodal degrees of freedom and load cases for a substructure,”Section39.3?“Importing a substructure into Abaqus/CAE,”Section39.4 ?“Using substructure part instances in an assembly,”Section39.5 ?“Recovering?eld output for substructures,”Section39.7 ?“Visualizing substructure output,”Section39.8 39.1Overview of substructures in Abaqus/CAE Substructures are collections of elements that have been grouped together,so the internal degrees of freedom have been eliminated for the https://www.doczj.com/doc/199260187.html,ing a substructure make model de?nition easier and analysis faster when you analyze a model that contains identical pieces that appear multiple times(such as the teeth of a gear),because you can use a substructure repeatedly in a model.Substructures are connected to the rest of the model by the retained degrees of freedom at the retained nodes.Factors that determine how many and which nodes and degrees of freedom should be retained are discussed in “De?ning substructures,”Section10.1.2of the Abaqus Analysis User’s Manual.Substructure de?nition in your model follows two sets of steps: ?“Creating substructures in your model database,”Section39.1.1 ?“Including substructures in your analysis,”Section39.1.2 39.1.1Creating substructures in your model database You can create substructures in Abaqus/CAE by following these general steps: 1.Create or open the model database in which you want to specify substructures in Abaqus/CAE. 2.In the Step module,create a Substructure generation step.Abaqus/CAE converts the entire model into a single substructure.For more information,see“Generating a substructure,” Section39.2. 3.In the Load module,create Retained nodal dofs boundary conditions to determine which degrees of freedom will be retained as external degrees of freedom on the substructure.You can also de?ne a load case in the substructure generation step if you want to apply a load to the substructure at

@Material Studio中文版帮助手册

欢迎 欢迎使用Materials Studio Materials Studio是一个采用服务器/客户机模式的软件环境,它为你的PC机带来世界最先进的材料模拟和建模技术。 Materials Studio使你能够容易地创建并研究分子模型或材料结构,使用极好的制图能力来显示结果。与其它标准PC软件整合的工具使得容易共享这些数据。 Materials Studio的服务器/客户机结构使得你的Windows NT/2000/XP,Linux和UNIX服务器可以运行复杂的计算,并把结果直接返回你的桌面。 Materials Studio采用材料模拟中领先的十分有效并广泛应用的模拟方法。Accelry’s的多范围的软件结合成一个集量子力学、分子力学、介观模型、分析工具模拟和统计相关为一体容易使用的建模环境。卓越的建立结构和可视化能力和分析、显示科学数据的工具支持了这些技术。 无论是使用高级的运算方法,还是简单地利用Materials Studio增强你的报告或演讲,你都可以感到自己是在用的一个优秀的世界级材料科学与化学计算软件系统。 易用性与灵活性 Materials Studio可以在Windows 98,Me,NT,2000和XP下运行。用户界面符合微软标准,你可以交互控制三维图形模型、通过简单的对话框建立运算任务并分析结果,这一切对Windows用户都很熟悉。 Materials Studio的中心模块是Materials Visualizer。它可以容易地建立和处理图形模型,包括有机无机晶体、高聚物、非晶态材料、表面和层状结构。Materials Visualizer 也管理、显示并分析文本、图形和表格格式的数据,支持与其它字处理、电子表格和演示软件的数据交换。 Materials Studio是一个模块化的环境。每种模块提供不同的结构确定、性质预测或模拟方法。你可以选择符合你要求的模块与Materials Visualizer组成一个无缝的环境。你也可以把Materials Visualizer作为一个单独的建模和分子图形的软件包来运行。 如果你安装了Materials Studio的其它模块,后台运算既可以运行在本机,也可以通过网络运行在远程主机上。这取决于你建立运算时的选择和运算要求。Materials Studio的客户机/服务器模式支持服务器端运行在Windows NT/2000/XP,Linux或UNIX下,使得你可以最大化利用计算资源。 效率和交流 所以的研究人员都可以从Materials Studio强大功能中获益。这份文档的“演示”部分给出了一些简单的分子和材料的模型。这能使你获得对材料的更好的理解并能创建优秀的图形。与其它Windows软件的协同工作使得能容易地拷贝粘贴这些图形到其它文档。结构和性质的数据能容易地从电子表格和数据库中导入导出。Materials Studio帮助你显示和共享数据。Materials Visualizer也可以安装在研究部门、生产部门、

abaqus帮助文档之地震相应计算分析

2.1.15 Seismic analysis of a concrete gravity dam Products: Abaqus/Standard Abaqus/Explicit In this example we consider an analysis of the Koyna dam, which was subjected to an earthquake of magnitude 6.5 on the Richter scale on December 11, 1967. The example illustrates a typical application of the concrete damaged plasticity material model for the assessment of the structural stability and damage of concrete structures subjected to arbitrary loading. This problem is chosen because it has been extensively analyzed by a number of investigators, including Chopra and Chakrabarti (1973), Bhattacharjee and Léger (1993), Ghrib and Tinawi (1995), Cervera et al. (1996), and Lee and Fenves (1998). Problem description The geometry of a typical non-overflow monolith of the Koyna dam is illustrated in Figure 2.1.15–1. The monolith is 103 m high and 71 m wide at its base. The upstream wall of the monolith is assumed to be straight and vertical, which is slightly different from the real configuration. The depth of the reservoir at the time of the earthquake is = 91.75 m. Following the work of other investigators, we consider a two-dimensional analysis of the non-overflow monolith assuming plane stress conditions. The finite element mesh used for the analysis is shown in Figure 2.1.15–2. It consists of 760 first-order, reduced-integration, plane stress elements (CPS4R). Nodal definitions are referred to a global rectangular coordinate system centered at the lower left corner of the dam, with the vertical y-axis pointing in the upward direction and the horizontal x-axis pointing in the downstream direction. The transverse and vertical components of the ground accelerations recorded during the Koyna earthquake are shown in Figure 2.1.15–3 (units of g = 9.81 m sec–2). Prior to the earthquake excitation, the dam is subjected to gravity loading due to its self-weight and to the hydrostatic pressure of the reservoir on the upstream wall. For the purpose of this example we neglect the dam–foundation interactions by assuming that the foundation is rigid. The dam–reservoir dynamic interactions resulting from the transverse component of ground motion can be modeled in a simple form using the Westergaard added mass technique. According to Westergaard (1933), the hydrodynamic pressures that the water exerts on the dam during an earthquake are the same as if a certain body of water moves back and forth with the dam while the remainder of the reservoir is left inactive. The added mass per unit area of the upstream wall is given in approximate form by the expression , with , where = 1000 kg/m3 is the density of water. In the Abaqus/Standard analysis the added mass approach is implemented using a simple 2-node user element that has been coded in user subroutine UEL. In the Abaqus/Explicit analysis the dynamic interactions between the dam and the reservoir are ignored. The hydrodynamic pressures resulting from the vertical component of ground motion are assumed to be small and are neglected in all the simulations. Material properties

相关主题
文本预览
相关文档 最新文档