当前位置:文档之家› Spring技术介绍

Spring技术介绍

Spring技术介绍
Spring技术介绍

一、基本概念

Spring 的核心是轻量级(Lightweight )的容器(Container ),它实现了IoC 容器、非侵入性(No intrusive )的框架,并提供AOP 概念的实现方式,提供对持久层(Persistence )、事务(Transaction )的支持,提供MVC Web 框架的实现,并对一些常用的企业服务API (Application Interface )提供一致的模型封装,是一个全方位的应用程序框架(Application framework ),另外,Spring 也提供了对现有框架(Struts 、JSF 、Hibernate 等)的整合方案。

Spring 旨在分离体系结构的层次,因此每一层都可以修改而不会影响到其它层。每一层都不知道其上层的关注点;就其可能而言,只对所紧挨的下一层有依赖。层与层之间的依赖通常是以接口的形式表现,以确保其耦合尽可能松散。

容器管理事务,容器,贯穿始终:1、对象生命周期的管理。 2、容器本身具备功能,加在自己的类中。需要自己调用则为显示调用。 而尽量用容器隐式调用,Spring 即为隐式

对现有表现层的支持

与ORM 紧密结合,可使用声明式事务管理 AOP 标准接口的实

现(容器管理的声

明式的种种事务)

对JDBC 采用模板回调;声明的JDBC 事务管理.

提供了Bean 工厂

对Bean 工厂的扩

展(比如对事务、国际化的支持)

自己的MVC 实现

调用、声明式编程。

Spring 轻量级容器体现在:只需设置一个Jar 文件到CLASSPATH ,不用去调用它,但又可以拥有其强大的功能。组件的极大程度的复用。

让层与层中耦合度低——Loosely-Coupled 工厂类创建DAO 对象。

声明式编程:在xml 文件中声明。 基于POJO 类,支持事务,事务是根本;而EJB 事务由Container 管理。

Spring 将 View 层与持久层,比如与Hibernate 联系起来。Spring 简化Hibernate 的使用,还可以帮助管理Hibernate 。Spring 本身没有O-R_mapping ,因为有Hibernate ,她已经做得很好了。

Spring 将编译时异常(checked )转化为运行时异常(runtime )。比如,JDBC 则为编译时异常,即必须写try…catch ;而Hibernate 程序为运行时异常。

在spring-framework-2.0.5\dist 目录下 有jar 文件、 dtd 文件、 tld 文件。

总之,Spring 是一个轻型容器(light-weight container ),其核心是Bean 工厂(Bean Factory ),用以构造我们所需要的M (Model )。在此基础之上,Spring 提供了AOP (Aspect-Oriented Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean 工厂的扩展ApplicationContext 更加方便我们实现Java EE 的应用;DAO/ORM 的实现方便我们进行数据库的开发;Web MVC 和Spring Web 提供了Java Web 应用的框架或与其它流行的Web 框架进行集成。

二、IoC (Inversion of Control )

1、定义:组件..之间的依赖关系....由容器..在运行时决定。

例如:B 对象所依赖的A 对象是由 Spring 创建好并且通过Set 方法传递注入过来的。 最基本的优点体现在:若A 为接口,让B 依赖于接口。只看接口不管实现类。 可把工厂类全部替换掉。对象均为容器创建。到时还能把容器的功能融入到其中。

IoC 要求:容器尽量不要侵入到应用程序中去,应用程序本身可以依赖于抽象的接口,

容器根据这些接口所需要的资源注入到应用程序中,也就是说应用程序不会主动向容器

JavaBean 调用/包含 Spring

控制权由对象本身转向容器;由容器根据配置文件去创建实例并创建各个实例之间的依赖关系。

请求资源;容器会自动把这些对象给应用程序。

●IoC有基于set方式的注入(property)、基于构造方法的注入。

●IoC核心的bean工厂:在Spring中,bean工厂创建的各个实例称作bean。业务组件间

的依赖是容器(Bean工厂)解决的。BeanFactory负责读取Bean定义文件,管理对象的加载、生成,维护Bean对象与Bean对象的依赖关系,负责Bean的生命周期,对于简单的应用程序来说,使用BeanFactory就已经足够来管理Bean,在对象的管理上就可以获得许多的便利性。

●Spring中有两个包里的类都可以做IoC:

beans包:org.springframework.beans包;

context包:org.springframework.context包,其类功能更加强大。

2、bean工厂创建bean的三种方式:

?通过构造方法直接创建:

?通过静态工厂方法创建:

?通过非静态工厂方法创建:

3、Spring中实现IoC的方式:依赖注入(Dependency Injection)

Spring中依赖注入的两种方式:

通过setter方法注入:

Huangwp

其中,name属性的取值依setter方法名而定。Spring推荐使用setter方法注入。

通过构造方法注入:

黄总

46

其中,index 表示构造方法中的参数索引(第一个参数索引为0),type 表示构造方法中参数的类型。

● 两种注入方式的区别:

? Constructor :可以在构建对象的同时,把依赖关系也构建好。对象创建后好就已经

准备好了所有的资源,安全性高。

? Setter: 创建完对象之后再通过set()方法进行属性的设定。

4、设置属性时可选的标签:

value :基本类型(包装类型)或String 类型 ref :引用工厂中其它的bean list :List 或数组类型

set :Set 类型。用法与list 类似。 map :Map 类型

props :Properties 类型,键值为String 类型的,所以直接写值。 举例:

List Set

Map Properties

如果key依赖其它对象用key-ref, 如果还是一个Map,可再嵌套。

◆abstract 属性

如果在配置文件中把某个方法设置成为abstract=“true”的(缺省false ),那么不能通过beanFactory 获得bean 的实例。

◆lazy-init属性

如果使用的是XmlBeanFactory来获得beanFactory:缺省的是延迟加载,如果不想延迟加载,则需要把工厂bean实例的lazy-init设置为false,例如:

5、自动装配:自动将某个bean 注入到另一个bean的属性当中。

(bean标签的autowire属性)其分类如下表:(大型应用不推荐使用,因为可读性太差)

模式说明

no 不使用自动装配。必须通过ref元素指定依赖,这是默认设置。由于显式指定协作者可以使配置更灵活、更清晰,因此对于较大的部署配置,推荐采用该设置。而且在某种程度上,它也是系统架构的一种文档形式。

byName 根据属性名自动装配。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配。例如,在bean定义中将autowire设置为by name,而该bean包含master属性(同时提供setMaster(..)方法),Spring就会查找名为master的bean定义,并用它来装配给master属性。

byType 如果容器中存在一个与指定属性类型相同的bean,那么将与该属性自动装配。如果存在多个该类型的bean,那么将会抛出异常,并指出不能使用byType方式进行自动装配。若没有找到相匹配的bean,则什么事都不发生,属性也不会被设置。如果你不希望这样,那么可以通过设置

dependency-check="objects"让Spring抛出异常。

constructor

与byType的方式类似,不同之处在于它应用于构造器参数。如果在容器中

没有找到与构造器参数类型一致的bean,那么将会抛出异常。

模式 说明

autodetect 通过bean 类的自省机制(introspection )来决定是使用constructor 还是

byType 方式进行自动装配。如果发现默认的构造器,那么将使用byType 方

式。

6、依赖检查:检查bean 的属性是否完成依赖关系的注入

(bean 标签的dependency-check 属性)

? 作用:检查bean 的属性是否完成依赖关系的注入 ? 分类:

错误!未找到引用源。.simple : 只查看简单的类型是否完成依赖注入(基本类型和字符串)

错误!未找到引用源。.objects:

检查对象类型是否完成依赖注入 错误!未找到引用源。.all: 检查全部的类型是否完成依赖注入。 错误!未找到引用源。.none: 默认的设置,表示不检查依赖性。

7、生命周期方法:

init-method (也可实现接口org.springframework.beans.factory.InitializingBean ) destroy-method(也可实现接口DisposableBean)

8、单例bean :默认情况下,从bean 工厂所取得的实例为Singleton (bean 的singleton 属性)

9、Aware 相关接口:可以通过实现Aware 接口来获得Spring 所提供的资源或使用某些功能。 ● org.springframework.beans.factory.BeanNameAware 此接口用得不多

实现BeanNameAware 接口的Bean 类,在依赖关系设定完成后、初始化方法之前,会将Bean 在定义文件中的名称通过setBeanFactory()方法设定给Bean 。

● org.springframework.beans.factory.BeanFactoryAware 要重视

实现BeanFactoryAware接口的类,在依赖关系设定完成后、初始化方法之前,Spring 容器将会注入BeanFactory的实例。

放弃一些反向控制,在需要B对象时再根据需要

●org.springframework.context.ApplicationContextAware

10、ApplicationContext的功能扩展:

org.springframework.context.ApplicationContext,其基本功能与BeanFactory很相似,还提供一个应用程序所需的更完整的框架功能。例如:提供取得资源文件更方便的方法、提高文字消息解析方法、支持国际化消息等。

错误!未找到引用源。.BeanPostProcessor:若想在Spring对bean完成依赖注入之后,再补充一些后续操作,则可以定义一个bean类来实现接口:

org.springframework.beans.factory.config.BeanPostProcessor,然后在配置文件中定义该bean 类;从而Spring容器会在每一个bean被初始化之前、之后分别执行实现了该接口的bean

类的postProcessBeforeInitialization()方法和postProcessAfterInitialization()方法;

错误!未找到引用源。.BeanFactoryPostProcessor:对Bean工厂修改其它支持。

●CustomEditorConfigurer:可借助实现了接口java.beans.PropertyEditor的类,并依据当中

的实现,将字符串类型转换为指定类型的对象;

●PropertyPlaceholderConfigurer:可将配置文件中属性值用“${key}”形式表示,则会将

其值替换成指定的属性文件中key所对应的value;

●PropertyOverrideConfigurer:可借助该类在指定的属性文件中设定一些优先的属性(将

忽略配置文件中对应属性的设定值);

(注意:属性文件中设定属性值的格式为:beanName.propertyName=value)

错误!未找到引用源。.国际化消息的支持:可通过ApplicationContext(继承于MessageSource)的getMessage()方法获得指定资源文件中的消息;配置如下:

错误!未找到引用源。.事件的支持:

可发布的事件:ApplicationEvent

发布事件的方法:publishEvent (ApplicationEvent ) 事件监听接口:ApplicationListener

11、ApplicationContext 管理bean 的执行阶段:(他回预先实例化所有的singleton bean) ●创建bean ;

●属性注入(依赖关系的注入);

●BeanNameAware 接口实现类的setBeanName ()方法; ●BeanFactoryAware 接口实现类的setBeanFactory ()方法;

●ApplicationContextAware 接口实现类的setApplicationContext ()方法;

●BeanPostProcessor 接口实现类中的postProcessBeforeInitialization ()方法;

(init 方法调用前要做的后续操作)

●InitializingBean 接口实现类的afterPropertiesSet ()方法; ●Bean 定义文件中init-method 属性所指定的方法;

●BeanPostProcessor 接口实现类中的postProcessAfterInitialization ()方法; 12、FactoryBean :用来创建bean

(注意:通过bean 工厂的getBean(“myObject ”)得到的是FactoryBean 所生产的产品;getBean(“&myObject ”)得到的是FactoryBean 实例本身)

三、AOP (Aspect-orented programming )面向层面编程 重点、难点

1、AOP 学习目标:

使所需要的功能能够加在任何类中,而不需要调用。

错误!未找到引用源。借助于Spring 编写一个自己的切面,加到任何一个Java 中; 错误!未找到引用源。Spring 本身也提供了编写好的切面功能。

切面有最大程度的复用性,耦合度趋于零。在事务方面,AOP 用得较成功。 2、代理的两种方式: ◆

静态代理:

? 针对每个具体类分别编写代理类; ? 针对一个接口编写一个代理类; ◆ 动态代理:

? 针对一个方面编写一个InvocationHandler ,然后借用JDK 反射包中的Proxy 类为各

种接口动态生成相应的代理类

AOP 的主要原理:动态代理 (研究一下动态代理的写法) 3、AOP 中思想和名词术语:

● Aspect :方面,层面,切面。是一段能够被“植入”到程序中的代码; ● Join Point :结合点、联结点;加入业务流程的点或时机;

● Pointcut :切入点、作用点;指定某个方面在哪些联结点织入到应用程序中 ● Advice :通知、行为;某个方面的具体实现,代表了一个动作. ● Advisor :切入点配置器,由Pointcut 和Advice 共同构成

● Pointcut :Spring 根据类名称及方法名称定义Pointcut ,表示Advice 织入至应用程序的

时机;org.springframework.aop.Pointcut ● ProxyFactoryBean :用来创建代理对象

LogHandler

Jointpoint Jointpoint Jointpoint

SecurityHandler

Aspects

Cross-cuting concerns

被辨认为 Pointcuts

… …

根据

具体设计为Advices

Weave

Logging

业务流程1 业务流程2 业务流程3

interfaces of target bean implemented

Advice/Advisor bean

创建代理对象需指定的三要素:

错误!未找到引用源。target:设定目标对象(只能是一个);

错误!未找到引用源。proxyInterfaces:设定代理接口(目标对象所实现的接口);

错误!未找到引用源。interceptorNames:设定拦截器的名字(各个advice或advisor bean 的列表)

Advice:五种(根据织入的时机不同而划分)

●Before Advice:在目标对象的方法执行之前加入行为;

要实现的接口:org.springframework.aop.MethodBeforeAdvice

●After Advice:在目标对象的方法执行之后加入行为;

要实现的接口:org.springframework.aop.AfterReturningAdvice

●Throw Advice:在目标对象的方法发生异常时加入行为;

要实现的接口:org.springframework.aop.ThrowsAdvice

●Around Advice:在目标对象的方法执行前后加入行为;

要实现的接口:org.aopalliance.intercept.MethodInterceptor

●Introduction Advice:引入的行为(增加了可操作的方法)。

◆声明要添加的功能接口;

◆创建引入Advice;

(继承org.springframework.aop.support.DelegatingIntroductionInterceptor,并实现添加的功能接口)

◆在配置文件中定义一个DefaultIntroductionAdvisor的bean。

(需要两个构造方法的参数:Advice和添加的功能接口)

●PointcutAdvisor:Pointcut定义了Advice的应用时机;在Spring中,使用PointcutAdvisor

将Pointcut和Advice结合为一个对象。

●NameMatchMethodPointcutAdvisor:可用来指定Advice所要应用的目标对象上的方法名称

●RegexpMethodPointcutAdvisor:可使用Regular expression定义Pointcut,在符合Regular

expression的情况下应用Advice,其pattern属性用来指定所要符合的完整类名(包括package名称)及方法名;定义该属性时可使用的符号包括:

符号描述

. 符合任意一个字符

+ 符合前一个字符一次或多次

* 符合前一个字符零次或多次

\ 转义字符,用来转义正则表达式中使用到的字符

●AutoProxy:自动代理

?BeanNameAutoProxyCreator:根据bean的名字为其自动创建代理对象,bean工厂自动返

回其代理对象:

?DefaultAdvisorAutoProxyCreator:自动将Advisor应用到符合Pointcut的目标对象上

四、Spring的Web MVC

1、DispatcherServlet:作为前端控制器,负责分发客户的请求到Controller;

在web.xml中的配置如下:

mvc

org.springframework.web.servlet.DospatcherServlet

contextConfigLocation

/WEB-INF/mvc-servlet.xml

mvc

*.do

2、Controller:负责处理客户请求,并返回ModelAndView实例;

Controller必须实现接口org.springframework.web.servlet.mvc.Controller,实现该接口中的方法handleRequest(),在该方法中处理请求,并返回ModelAndView实例

3、HandlerMapping:DispatcherServlet根据它来决定请求由哪一个Controller处理;

?默认情况下,DispatcherServlet将使用org.springframework.web.servlet.handler.

BeanNameUrlHandlerMapping,即使用和客户请求的URL名称一致的Controller的bean实例来处理请求;

?另外一种常用的HandlerMapping为org.springframework.web.servlet.handler.

SimpleUrlHandlerMapping,配置如下:

在以上“mappings”属性设置中,“key”为请求的URL,而“value”为处理请求的Controller 的bean名称

4、ModelAndView:用来封装View与呈现在View中的Model对象;

DispatcherServlet根据它来解析View名称,并处理呈现在View中的Model对象

5、ViewResolver:DispatcherServlet委托ViewResolver来解析View名称;

常用的ViewResolver实例配置如下:

Cglig库作用1、Spring通过调用cglib在客户端的类之上修改二进制码。

2、能够给某一个类生成子类(Hibernate中也要用到,用来生成子类)。

CGLIB用来生成动态代理类(dynamic proxy classes),供核心DI和AOP实现之用,所

以大量Spring功能都要用到CGLIB。

五、Spring Data Access

1、Template

2、Dao Support

3、Transaction Manager

4、Transaction Proxy

Spring对Hibernate的集成:

Spring与Struts的集成

如下3种方式:

错误!未找到引用源。、使用Spring的ActionSupport类整合Struts。

错误!未找到引用源。、使用Spring的DelegatingRequestProcessor覆盖Struts的RequestProcessor。

错误!未找到引用源。、将Struts Action管理委托给Spring框架。

SSH编程示例图:

附:行业的一些名词术语

CRM ERP OSS BSS BOSS OA Pre-Sale

CRM客户关系管理Customer Relationship Management ERP企业资源规划Enterprise Resource Planning

OSS运营支撑系统Operation Support System

BSS业务支撑系统Business Support System

BOSS业务运营支撑系统Business Operation Support System OA办公自动化Office Automatization

Pre-Sale售前(基本上什么都要会)

Spring简介

spring 年编著的《Expert one to one J2EE design and development

Spring Logo 书中,对Java EE正统框架臃肿、低效、脱离现实的种种现状提出了质疑,并积极寻求探索革新之道。以此书为指导思想,他编写了interface21框架,这是一个力图冲破Java EE传统开发的困境,从实际需求出发,着眼于轻便、灵巧,易于开发、测试和部署的轻量级开发框架。Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了1.0正式版。同年他又推出了一部堪称经典的力作《Expert one-to-one J2EE Development without EJB》,该书在Java世界掀起了轩然大波,不断改变着Java开发者程序设计和开发的思考方式。在该书中,作者根据自己多年丰富的实践经验,对EJB的各种笨重臃肿的结构进行了逐一的分析和否定,并分别以简洁实用的方式替换之。至此一战功成,Rod Johnson成为一个改变Java世界的大师级人物。 传统J2EE应用的开发效率低,应用服务器厂商对各种技术的支持并没有真正统一,导致J2EE的应用没有真正实现Write Once及Run Anywhere的承诺。Spring作为开源的中间件,独立于各种应用服务器,甚至无须应用服务器的支持,也能提供应用服务器的功能,如声明式事务等。 Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说Spring是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。然而,Spring并不想取代那些已有的框架,而是与它们无缝地整合。 编辑本段简介 Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 ◆目的:解决企业应用开发的复杂性 ◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能 ◆范围:任何Java应用 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 ◆轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB 多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。 ◆控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC 与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。 ◆面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。 ◆容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。

scifinder使用介绍

6.6.1 内容简介 SciFinder Scholar是美国化学学会所属的化学文摘服务社CAS(Chemical Abstract Service)出版的化学资料电子数据库学术版。它是全世界最大、最全面的化学和科学信息数据库。 《化学文摘》(CA)是涉及学科领域最广、收集文献类型最全、提供检索途径最多、部卷也最为庞大的一部著名的世界性检索工具。CA报道了世界上150多个国家、56种文字出版的20000多种科技期刊、科技报告、会议论文、学位论文、资料汇编、技术报告、新书及视听资料,摘录了世界范围约98%的化学化工文献,所报道的内容几乎涉及化学家感兴趣的所有领域。 CA网络版SciFinder Scholar,整合了Medline医学数据库、欧洲和美国等30几家专利机构的全文专利资料、以及化学文摘1907年至今的所有内容。涵盖的学科包括应用化学、化学工程、普通化学、物理、生物学、生命科学、医学、聚合体学、材料学、地质学、食品科学和农学等诸多领域。 SciFinder Scholar 收集由CAS 出版的数据库的内容以及MEDLINE?数据库,所有的记录都为英文(但如果MEDLINE 没有英文标题的则以出版的文字显示)。 6.6.2 通过 SciFinder Scholar 可以得到的信息:

6.6.3 SciFinder? Scholar? 使用的简单介绍 主要分为Explore 和Browse。如图6.6.1 一、Explore Explore Tool 可获取化学相关的所有信息及结构等,有如下: 1、Chemical Substance or Reaction – Retrieve the corresponding literature 2、By chemical structure 3、By substance identifier 4、By molecular formula

spring相关jar包简介

spring相关jar包简介 spring.jar是包含有完整发布的单个jar包,spring.jar中包含除了 spring-mock.jar 里所包含的内容外其它所有jar包的内容,因为只有在开发环境下才会用到 spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的。 除了spring.jar文件,Spring还包括有其它13个独立的jar包,各自包含着对应的Spring组件,用户可以根据自己的需要来选择组合自己的jar包,而不必引入整个spring.jar的所有类文件。 (1) spring-core.jar 这个jar文件包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类。 (2) spring-beans.jar 这个jar文件是所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。如果应用只需基本的IoC/DI支持,引入spring-core.jar及spring- beans.jar文件就可以了。 (3) spring-aop.jar 这个jar文件包含在应用中使用Spring的AOP特性时所需的类。使用基于AOP的Spring特性,如声明型事务管理(Declarative Transaction Management),也要在应用里包含这个jar包。 (4) spring-context.jar 这个jar文件为Spring核心提供了大量扩展。可以找到使用Spring ApplicationContext特性时所需的全部类,JDNI所需的全部类,UI方面的用来与模板(Templating)引擎如Velocity、FreeMarker、JasperReports集成的类,以及校验Validation方面的相关类。 (5) spring-dao.jar 这个jar文件包含Spring DAO、Spring Transaction进行数据访问的所有类。为了使用声明型事务支持,还需在自己的应用里包含spring-aop.jar。 (6) spring-hibernate.jar 这个jar文件包含Spring对Hibernate 2及Hibernate 3进行封装的所有类。 (7) spring-jdbc.jar 这个jar文件包含对Spring对JDBC数据访问进行封装的所有类。 (8) spring-orm.jar 这个jar文件包含Spring对DAO特性集进行了扩展,使其支持iBATIS、JDO、OJB、TopLink,因为Hibernate已经独立成包了,现在不包含在这个包里了。这个jar文件里大部分的类都要依赖spring-dao.jar里的类,用这个包时你需要同时包含spring-dao.jar 包。

【黑马程序员】Spring Boot介绍和使用

【黑马程序员】Spring Boot介绍和使用 简介:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。Spring Boot是一种简化原有Spring应用繁杂配置的微框架。使开发者从繁杂的各种配置文件中解脱出来,通过Spring Boot能够很简单、很快速构建一个优秀的、产品级的Spring基础应用。运行Spring Boot和运行普通的Java 类一样简单,仅仅run一下Spring Boot的入口main()方法即可开启应用;你也可以把Spring Boot应用打成jar,在命令行执行java -jar xxx.jar命令来运行;或者打成war包部署到服务器下运行服务器来开启应用。Spring Boot微框架考虑到了Spring平台和第三方库的情况,所以你需要做的则是最少的操作或配置。 Spring Boot的特点: 1. 创建独立的Spring应用程序 2. 嵌入的Tomcat,无需部署WAR文件 3. 简化Maven配置 4. 自动配置Spring 5. 绝对没有代码生成并且对XML也没有配置要求 Spring boot的使用 1.在ide中打开工程,这里使用的ide是idea,工程的目录结构为: 2、maven配置文件

多图详解Spring框架的设计理念与设计模式

Spring作为现在最优秀的框架之一,已被广泛的使用,51CTO也曾经针对Spring框架中的JDBC应用做过报道。本文将从另外一个视角试图剖析出Spring框架的作者设计Spring框架的骨骼架构的设计理念。 Rod Johson在2002年编著的《Expert one to one J2EE design and development》一书中,对Java EE正统框架臃肿、低效、脱离现实的种种现状提出了质疑,并积极寻求探索革新之道。以此书为指导思想,他编写了interface21框架,这是一个力图冲破Java EE传统开发的困境,从实际需求出发,着眼于轻便、灵巧,易于开发、测试和部署的轻量级开发框架。Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了1.0正式版。同年他又推出了一部堪称经典的力作《Expert one-to-one J2EE Development without EJB》,该书在Java世界掀起了轩然大波,不断改变着Java开发者程序设计和开发的思考方式。在该书中,作者根据自己多年丰富的实践经验,对EJB 的各种笨重臃肿的结构进行了逐一的分析和否定,并分别以简洁实用的方式替换之。至此一战功成,Rod Johnson 成为一个改变Java世界的大师级人物。 传统J2EE应用的开发效率低,应用服务器厂商对各种技术的支持并没有真正统一,导致J2EE的应用没有真正实现Write Once及Run Anywhere的承诺。Spring作为开源的中间件,独立于各种应用服务器,甚至无须应用服务器的支持,也能提供应用服务器的功能,如声明式事务等。 Spring致力于J2EE应用的各层的解决方案,而不是仅仅专注于某一层的方案。可以说Spring是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。然而,Spring并不想取代那些已有的框架,而与它们无缝地整合。 Spring简介 Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring 使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 ◆目的:解决企业应用开发的复杂性 ◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能 ◆范围:任何Java应用 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 ◆轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且 Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。 ◆控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。 ◆面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务()管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。 ◆容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。 ◆框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将

SciFinder使用说明

SciFinder使用说明 SciFinder简介 SciFinder?由美国化学会(American Chemical Society, ACS)旗下的美国化学文摘社(Chemical Abstracts Service, CAS)出品,是一个研发应用平台,提供全球最大、最权威的化学及相关学科文献、物质和反应信息。SciFinder涵盖了化学及相关领域如化学、生物、医药、工程、农学、物理等多学科、跨学科的科技信息。SciFinder收录的文献类型包括期刊、专利、会议论文、学位论文、图书、技术报告、评论和网络资源等。 通过SciFinder,可以: ?访问由CAS全球科学家构建的全球最大并每日更新的化学物质、反应、专利和期刊数据库,帮助您做出更加明智的决策。 ?获取一系列检索和筛选选项,便于检索、筛选、分析和规划,迅速获得您研究所需的最佳结果,从而节省宝贵的研究时间。 无需担心遗漏关键研究信息,SciFinder收录所有已公开披露、高质量且来自可靠信息源的信息。 通过SciFinder可以获得、检索以下数据库信息:CAplus SM(文献数据库)、CAS REGISTRY SM (物质信息数据库)、CASREACT? (化学反应数据库)、MARPAT?(马库什结构专利信息数据库)、CHEMLIST? (管控化学品信息数据库)、CHEMCATS?(化学品商业信息数据库)、MEDLINE?(美国国家医学图书馆数据库)。 专利工作流程解决方案PatentPak TM已在SciFinder上线,帮助用户在专利全文中快速定位难以查找的化学信息。 SciFinder 注册须知: 读者在使用SciFinder之前必须用学校的email邮箱地址注册,注册后系统将自动发送一个链接到您所填写的email邮箱中,激活此链接即可完成注册。参考“SciFinder注册说明”。

Spring技术介绍

一、基本概念 Spring 的核心是轻量级(Lightweight )的容器(Container ),它实现了IoC 容器、非侵入性(No intrusive )的框架,并提供AOP 概念的实现方式,提供对持久层(Persistence )、事务(Transaction )的支持,提供MVC Web 框架的实现,并对一些常用的企业服务API (Application Interface )提供一致的模型封装,是一个全方位的应用程序框架(Application framework ),另外,Spring 也提供了对现有框架(Struts 、JSF 、Hibernate 等)的整合方案。 Spring 旨在分离体系结构的层次,因此每一层都可以修改而不会影响到其它层。每一层都不知道其上层的关注点;就其可能而言,只对所紧挨的下一层有依赖。层与层之间的依赖通常是以接口的形式表现,以确保其耦合尽可能松散。 容器管理事务,容器,贯穿始终:1、对象生命周期的管理。 2、容器本身具备功能,加在自己的类中。需要自己调用则为显示调用。 而尽量用容器隐式调用,Spring 即为隐式 对现有表现层的支持 与ORM 紧密结合,可使用声明式事务管理 AOP 标准接口的实 现(容器管理的声 明式的种种事务) 对JDBC 采用模板回调;声明的JDBC 事务管理. 提供了Bean 工厂 对Bean 工厂的扩 展(比如对事务、国际化的支持) 自己的MVC 实现

调用、声明式编程。 Spring 轻量级容器体现在:只需设置一个Jar 文件到CLASSPATH ,不用去调用它,但又可以拥有其强大的功能。组件的极大程度的复用。 让层与层中耦合度低——Loosely-Coupled 工厂类创建DAO 对象。 声明式编程:在xml 文件中声明。 基于POJO 类,支持事务,事务是根本;而EJB 事务由Container 管理。 Spring 将 View 层与持久层,比如与Hibernate 联系起来。Spring 简化Hibernate 的使用,还可以帮助管理Hibernate 。Spring 本身没有O-R_mapping ,因为有Hibernate ,她已经做得很好了。 Spring 将编译时异常(checked )转化为运行时异常(runtime )。比如,JDBC 则为编译时异常,即必须写try…catch ;而Hibernate 程序为运行时异常。 在spring-framework-2.0.5\dist 目录下 有jar 文件、 dtd 文件、 tld 文件。 总之,Spring 是一个轻型容器(light-weight container ),其核心是Bean 工厂(Bean Factory ),用以构造我们所需要的M (Model )。在此基础之上,Spring 提供了AOP (Aspect-Oriented Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean 工厂的扩展ApplicationContext 更加方便我们实现Java EE 的应用;DAO/ORM 的实现方便我们进行数据库的开发;Web MVC 和Spring Web 提供了Java Web 应用的框架或与其它流行的Web 框架进行集成。 二、IoC (Inversion of Control ) 1、定义:组件..之间的依赖关系....由容器..在运行时决定。 例如:B 对象所依赖的A 对象是由 Spring 创建好并且通过Set 方法传递注入过来的。 最基本的优点体现在:若A 为接口,让B 依赖于接口。只看接口不管实现类。 可把工厂类全部替换掉。对象均为容器创建。到时还能把容器的功能融入到其中。 IoC 要求:容器尽量不要侵入到应用程序中去,应用程序本身可以依赖于抽象的接口, 容器根据这些接口所需要的资源注入到应用程序中,也就是说应用程序不会主动向容器 JavaBean 调用/包含 Spring 控制权由对象本身转向容器;由容器根据配置文件去创建实例并创建各个实例之间的依赖关系。

简介Java的Spring框架的体系结构以及安装配置

体系结构 Spring有可能成为所有企业应用程序的一站式服务,然而,Spring是模块化的,使您可以挑选哪些模块是适用的,而不必把在余下的也引入。以下部分给出详细介绍在Spring框架中所有可用的模块。 Spring框架提供约20个模块,可以根据应用程序的要求来使用。 网店转让

响应式网站制作 p2p网站制作 a货包包

游戏制作学习 核心容器: 核心容器组成的核心,Beans,上下文和表达式语言模块,其细节如下: 核心模块提供了框架的基本组成部分,包括IoC和依赖注入功能。 Bean模块提供BeanFactory是工厂模式的经典实现。 Context 上下文模块建立在由核心和Bean类模块提供了坚实的基础,它是访问定义和配置的任何对象的媒介。在ApplicationContext接口是上下文模块的焦点。. 表达式语言模块提供了在运行时查询和操作对象图的强大的表达式语言。 数据访问/集成: 数据访问/集成层包括JDBC,ORM,OXM,JMS和事务处理模块,其细节如下: JDBC模块提供了不再需要冗长的JDBC编码相关了JDBC的抽象层。 ORM模块提供的集成层。流行的对象关系映射API,包括JPA,JDO,Hibernate和iBatis。OXM模块提供了一个支持对象/ XML映射实现对JAXB,Castor,使用XMLBeans,JiBX和XStream的抽象层。 Java消息服务JMS模块包含的功能为生产和消费的信息。 事务模块支持编程和声明式事务管理实现特殊接口类,并为所有的POJO。 Web: 在Web层包括网络,Web-Servlet,Web-Struts和网络的Portlet组件,其细节如下:Web模块提供了基本的Web开发的集成特性,例如多方文件上传功能和使用的servlet监听器的IoC容器初始化和针对Web的应用程序上下文。 Web-Servlet 模块包含Spring的模型- 视图- 控制器(MVC)实现Web应用程序。Web-Struts 模块包含支持类内的Spring应用程序集成了经典的Struts Web层。 Web-Portlet模块提供了MVC实现在portlet环境中使用和镜子Web的Servlet的模块的功能。

浙江大学scifinder使用教程

浙江大学scifinder使用教程 1、输入网址:https://www.doczj.com/doc/1010325638.html,/ 如图1,点击继续浏览 图1 2、进入浙大的入口,输入用户名密码(卖家提供) 图2 3、登陆进去是图3这个页面。注意此时会自动安装插件,切记要一路放行。登陆成功的标志是屏幕右上角有个蓝框绿蓝S的LOGO! 如果未出现S,那么请根据图2的手动安装组件,下载安装组件!

图3 4、登陆页面不要覆盖,新标签页打开浙江大学图书馆 https://www.doczj.com/doc/1010325638.html,/libweb/点数据库导航,找到scifinder页面,进入 图4

5、点击图5红框中的链接https://www.doczj.com/doc/1010325638.html,/cgi-bin/casip,看下IP是不是浙大的IP,一般是61或者210开头,确定是,那就可以输入链接https://https://www.doczj.com/doc/1010325638.html,/登陆了 图5 6、scifinder登陆页面输入用户名密码(卖家提供),您就可以使用scifinder啦 图6

常见问题以及解决方法 1.浏览器不支持JavaScript,提示“您的浏览器不支持JavaScript(或它被 禁止了)请确认您的浏览器能支持JavaScript”,请启用“工具- >Internet选项->安全->自定义级别->活动脚本”选项。 2.浏览器不支持Cookie,提示“你的浏览器禁止了Cookie,必须设置为允许 才可以继续使用”,请在“工具->Internet选项->隐私->高级”启用 Cookie支持 3.浏览不支持BHO,提示:"您的浏览器没有启用第三方扩展",关闭IE时无法 自动注销用户。请在 "工具->Internet选项->高级->启用第三方浏览器扩展”前打勾启用! 4.APP服务不可用,可能是控件不是最新的,请您关闭IE,重新登陆VPN 5.IP服务不可用,可能你安装的IP服务控件不是最新的。请点击“程序- >SINFOR SSL VPN->卸载CS应用支持”和“程序->SINFOR SSL VPN->卸载SSL VNIC”,手动卸载IP服务控件,然后再重新登陆VPN。 6.IP服务可能与某些杀毒软件冲突。请在杀毒软件中放行IP服务的客户端程 序,或者在使用时暂时禁用杀毒软件。

Struts+Hibernate+Spring+三个框架简介

Struts 是一个为开发基于模型(Model)-视图(View)-控制器(Controller)(MVC)模式的应用架构的开源框架,是利用Java Servlet和JSP构建Web应用的一项非常有用的技术。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,因而吸引了众多的开发人员的关注。 首先事件是指从客户端页面(浏览器)由用户操作触发的事件,Struts使用Action来接受浏览器表单提交的事件,这里使用了Command 模式,每个继承Action的子类都必须实现一个方法execute。 struts重要的表单对象ActionForm是一种对象,它代表了一种应用,这个对象中至少包含几个字段,这些字段是Jsp页面表单中的input字段,因为一个表单对应一个事件,所以,当我们需要将事件粒度细化到表单中这些字段时,也就是说,一个字段对应一个事件时,单纯使用Struts就不太可能,当然通过结合JavaScript也是可以转弯实现的。 Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。 Struts框架可分为以下四个主要部分: 1、模型(Model),本质上来说在Struts中Model是一个Action类(这个会在后面详细讨论),开发者通过其实现商业逻辑,同时用户请求通过控制器(Controller)向Action的转发过程是基于由struts- config.xml文件描述的配置信息的。 2、视图(View),View是由与控制器Servlet配合工作的一整套JSP定制标签库构成,利用她们我们可以快速建立应用系统的界面。 3、控制器(Controller),本质上是一个Servlet,将客户端请求转发到相应的Action类。

请介绍一下Spring框架中Bean的生命周期

请介绍一下Spring框架中Bean的生命周 期 这个配置文件就定义了一个标识为HelloWorld 的Bean。在一个配置文档中可以定义多个Bean。二、Bean的初始化有两种方式初始化Bean。1、在配置文档中通过指定init-method 属性来完成在Bean的类中实现一个初始化Bean属性的方法,如init(),如:public class HelloWorld{public String msg=null;public Date date=null;public void init() {msg=”HelloWorld”;date=new Date();}……}然后,在配置文件中设置init-mothod属性:2、实现org.springframwork.beans.factory.InitializingBean接口Bean实现InitializingBean接口,并且增加afterPropertiesSet() 方法:public class HelloWorld implement InitializingBean {public String msg=null;public Date date=null;public void afterPropertiesSet() {msg=”向全世界问好!”;date=new Date();}……}那么,当这个Bean的所有属性被Spring的BeanFactory设置完后,会自动调用afterPropertiesSet()方法对Bean进行初始化,于是,配置文件就不用指定init-method属性了。 三、Bean的调用有三种方式可以得到Bean并进行调用:1、使用BeanWrapperHelloWorld hw=new HelloWorld();BeanWrapper bw=new BeanWrapperImpl(hw);bw.setPropertyvalue(“msg”,”

scifinder使用手册

研发工具Scifinder 《使用说明书》 第一章 Scifinder数据库介绍 1.1 Scifinder数据库 1.1.1 检索系统 支持的检索方式:主题检索、物质名称检索、分子式检索、结构式检索、亚结构式检索、相似结构式检索、反应式检索、类反应式检索、分析与二次检索。作者、机构名称、杂志名称、专利号、CA号 检索结果后处理系统:Scifinder不仅仅包含有分子式、反应式和结构式(包括亚结构检索)等多种检索功能,而且在得到初步检索结果的基础上还可以进一步利用超过20个选项的后处理功能以最快的速度找到最精确的答案。它已经超越了检索工具的范畴,而成为研发人员不可或缺的研发工具。 包含的信息量:大于2600万条文章记录;3000多万个有机无机物质,5800多万生物序列,1100多万条单步多步反应。 信息时效:1907年-至今 1.1.2 原文下载系统 Scifinder具有强大的期刊和专利链接,收录了全世界9500多种主要期刊和50多家合法专利发行机构的专利文献中公布的研究成果,占全球化工信息的98%。其中能直接链接原文的化工类核心期刊1365种,约占全球英文版电子化工类期刊总数的90%,几乎包含了所有高影响因子期刊。 1.2 Scifinder的化学学科覆盖 事实上,Scifinder数据库囊括了自20世纪以来所有与化学相关的资料,以及大量生命科学及及其它科学学科方面的信息。

1.2.1 生命科学领域 遗传学、基因组学、酶学、蛋白质组学、实验内科学、生物化学、生物技术学、分子生物学、微生物学、细胞生物学、药理学等 能够保证将9大主要专利组织2日内发布的与生物加工方法、蛋白质组技术、新遗传学工艺,及其它对现代药品开发至关重要的课题等相关的专利收录进来; 通过Scifinder访问遗传学、酶学、生物化学、生物技术学及更多科学信息。 用户可查找:摘自细胞、科学、核酸研究、现代药品开发资料及其它知名期刊的科学信息。 1.2.2 传统化学领域 有机化学 高分子——聚合物、塑料、纺织、橡胶粘合剂等 应用化学和化学工程——加工、工业化学、金属/合金、陶瓷、环境等 物理化学、无机化学和分析化学

各种框架架构图简介

1.Spring 架构图 Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE 应用程序开发提供集成的框架。Spring 框架的功能可以用在任何 J2EE 服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定J2EE 服务的可重用业务和数据访问对象。这样的对象可以在不同J2EE 环境(Web或EJB )、独立应用程序、测试环境之间重用。 组成Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下: ?核心容器:核心容器提供Spring 框架的基本功能。核心容器的主要组件是BeanFactory ,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC )模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。 ?Spring 上下文:Spring 上下文是一个配置文件,向Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如JNDI 、EJB 、电子邮件、国际化、校验和调度功能。 ?Spring AOP :通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了Spring 框架中。所以,可以很容易地使Spring 框架管理的任何对象支持AOP 。Spring AOP 模块为基于Spring 的应用程序 中的对象提供了事务管理服务。通过使用Spring AOP ,不用依赖EJB 组 件,就可以将声明性事务管理集成到应用程序中。

?Spring DAO :JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向JDBC 的异常遵从通用的DAO 异常层次结构。 ?Spring ORM :Spring 框架插入了若干个ORM 框架,从而提供了ORM 的对象关系工具,其中包括JDO 、Hibernate 和iBatis SQL Map 。所有这些都遵从Spring 的通用事务和DAO 异常层次结构。 2.ibatis 架构图 ibatis 是一个基于Java的持久层框架。 iBATIS 提供的持久层框架包括SQL Maps 和Data Access Objects ( DAO ),同时还提供一个利用这个框架开发的 JPetStore 实例。 IBATIS :最大的优点是可以有效的控制sql 发送的数目,提高数据层的执行效率!它需要程序员自己去写sql 语句,不象hibernate 那样是完全面向对象的,自动化的,ibatis 是半自动化的,通过表和对象的映射以及手工书写的sql 语句,能够实现比hibernate 等更高的查询效率。 Ibatis 只是封装了数据访问层,替我们做了部分的对象关系映射。但代价是必须要写xml配置文件,相对于Hibernate 还要写很多sql 。Hibernate 通过工具直接从数据库模式生成实体类和基本的配置文件,而且大部分情况下不需要我们写sql ,会较大的提升开发效率。但这些也有很多的局限性,尤其是对

Java框架介绍

Java框架介绍

二零一五年九月 目录 一技术简介3 1.1 总体介绍3 1.2 Maven介绍3 1.3 Spring MVC介绍4 1.4 Hibernate介绍4 二配置说明5 2.1 web.xml文件5 2.2 applicationContext-resourse.xml文件6 2.3 applicationContext-service.xml文件6 2.4 applicationContext-source.xml文件6 2.5 applicationContext-source.xml文件7 2.6 spring-servlet.xml文件8 2.7 pom.xml文件8 三源代结构9 3.1 整体结构9 3.2 Dao层9 3.3 Service层9 3.4 Controller层9 3.5 其他10 四业务操作流程(重要)11 4.1 操作图示11 4.2 操作实例11 五突出功能15 5.1 权限管理15

一技术简介 1.1 总体介绍 该框架总体使用Maven+SpringMVC+Hibernate。除了可以较好的进行数据交互,框架各层代码比较分明,也更加系统,基础方法都已集成,对于开发者的帮助事半功倍。 1.2 Maven介绍 maven是一个很好的项目管理或者项目构建工具。 首先是maven的“约定优于配置”,即在maven中并不是完全不可以修改的,他们只是一些配置的默认值而已。但是使用者除非必要,并不需要去修改那些约定内容。maven 默认的文件存放结构如下: /项目目录 o pom.xml 用于maven的配置文件 o/src源代码目录 ?/src/main 工程源代码目录 ?/src/main/java 工程java源代码目录 ?/src/main/resource 工程的资源目录 ?/src/main/webapp工程的jsp等前端文件目录 ?/src/test 单元测试目录 ?/src/test/java o/target 输出目录,所有的输出物都存放在这个目录下 ?/target/classes 编译之后的class文件 其次,构建项目或项目开发过程中,项目所有依赖的版本库,比如spring和hibernate相关依赖库,只需要在pom.xml增加配置信息,如果maven仓库中有该依赖文件就直接引用,没有则会从指定地址下载该依赖文件到本地仓库,供项目使用。即对于项目所有的依赖库,可以进行统一管理,不需要分别配置。 最后,maven也可以进行多项目管理,一般来说,maven要求同一个工程的所有子项目都放置到同一个目录下,每一个子目录代表一个项目,所有具体子项目的pom.xml都会继承总项目pom的内容,取值为子项目pom内容优先。

scifinder使用简介

SciFinder Scholar使用简介 一、SciFinder?Scholar? Content SciFinder Scholar 收集由CAS出版的数据库的内容以及MEDLINE?数据库(by the National Library of Medicine ,NLM),所有的记录都为英文(但如果MEDLINE没有英文标题的则以出版的文字显示)。

二、What You Can Find with SciFinder Scholar 通过SciFinder Scholar 您可以得到以下信息: 注意:检索结果可以打印、保存,但如要保存需注意文件名和文件所在的文件夹(包括上层目录)名都必须是英文,否则可能会出现无法保存,试用期内也不能保存。

三、SciFinder ? Scholar? 使用的简单介绍: 主要分为Explore 和Browse : 3.1、Explore Explore Tool 可获取化学相关的所有信息及结构等,有如下方式:(如上图所示) ? Chemical Substance or Reaction – Retrieve the corresponding literature ? By chemical structure ? By substance identifier ? By molecular formula ? Research Topic – to find literature relevant to a topic of interest. ? Author Name – to locate literature written by a specific author. ? Document Identifier – to find literature for a specific CA Accession Number or Patent Number. ? Company Name / Organization – to locate literature for a specific company, university, governmental agency, or other organization. 3.2、Browse Journal Table of Contents 可直接浏览1800多核心期刊的摘要及其引文等编目内容,如果带有 则可直接点击,就会通过ChemPort ? Connection .SM 获取全文(in-house ) Explore Browse 菜单

Spring框架百科

spring框架 目录 定义文档来自于网络搜索 Spring框架简介文档来自于网络搜索 Spring框架的7个模块文档来自于网络搜索 编辑本段定义文档来自于网络搜索 要谈Spring的历史,就要先谈J2EE。J2EE应用程序的广泛实现是在1999年和2000年开始的,它的出现带来了诸如事务管理之类的核心中间层概念的标准化,但是在实践中并没有获得绝对的成功,因为开发效率,开发难度和实际的性能都令人失望。文档来自于网络搜索 曾经使用过EJB开发J2EE应用的人,一定知道,在EJB开始的学习和应用非常的艰苦,很多东西都不能一下子就很容易的理解。EJB要严格地继承各种不同类型的接口,类似的或者重复的代码大量存在。而配置也是复杂和单调,同样使用JNDI进行对象查找的代码也是单调而枯燥。虽然有一些开发工作随着xdoclet的出现,而有所缓解,但是学习EJB的高昂代价,和极低的开发效率,极高的资源消耗,都造成了EJB的使用困难。而Spring 出现的初衷就是为了解决类似的这些问题。文档来自于网络搜索 Spring的一个最大的目的就是使J2EE开发更加容易。同时,Spring 之所以与Struts、Hibernate等单层框架不同,是因为Spring致力于提供一个以统一的、高效的方式构造整个应用,并且可以将单层框架以最佳的组合揉和在一起建立一个连贯的体系。可以说Spring是一个提供了更完善开发环境的一个框架,可以为POJO(Plain Old Java Object)对象提供企业级的服务。文档来自于网络搜索 Spring的形成,最初来自Rod Jahnson所著的一本很有影响力的书籍《Expert One-on-One J2EE Design and Development》,就是在这本书中第一次出现了Spring的一些核心思想,该书出版于2002年。另外一本书《Expert One-on-One J2EE Development without EJB》,更进一步阐述了在不使用EJB开发J2EE企业级应用的一些设计思想和具体的做法。有时间了可以详细的研读一下。文档来自于网络搜索 Spring的初衷: 1、J2EE开始应该更加简单。 2、使用接口而不是使用类,是更好的编程习惯。Spring将使用接口的复杂度几乎降低到了零。 3、为JavaBean提供了一个更好的应用配置框架。

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