编辑推荐: |
本文来自于csdn,这篇文章只是简单的介绍一下简单框架的搭建,运用的环境是maven web项目,这样便于管理。 |
由于项目的需要,自己利用闲暇的时间在外部搭建了一个jersey和spring简单集成的环境,后期会随着相关业务的加入会变得更加庞大。
1、环境的搭建(开发工具:eclipse,个人喜好吧,ide现期比较适应eclipse)
对于jersey的安装有两种方式,我们将简单的介绍之。
第一种:就是在maven项目中加上archType有关jersey web项目骨架,具体的看图
添加对jersey web项目的支持,archetypeArtifactId = jersey - quickstart- grizzly2 archetypeGroupId = org . glassfish .jersey .archetypes ? archetypeVersion = 2.1
其中第四个项目是选填的,我这里就不填!
如果出现下图所示的第一条条目,说明你jersey安装成功啦!
安装成功后,选择这个类型的骨架去创建jersey项目,自然集成了jersey特性。
第二种就是使用pom.xml来自动导入所需要的jar包,前提是你比较熟悉需要使用什么jar,这样才能配置全面,为了减少新手的工作量,我就将需要的包(包括spring)所需要的包一起拿进来。
<span style="font-size:14px;"><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.demo</groupId> <artifactId>mybook</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>mybook</name> <build> <finalName>mybook</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <inherited>true</inherited> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <!-- Jersey --> <dependency> <groupId>org.glassfish.jersey.containers</groupId> <artifactId>jersey-container-servlet-core</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.media</groupId> <artifactId>jersey-media-moxy</artifactId> <version>${jersey.version}</version> </dependency> <dependency> <groupId>org.glassfish.jersey.ext</groupId> <artifactId>jersey-bean-validation</artifactId> <version>${jersey.version}</version> </dependency> <!-- Jersey + Spring --> <dependency> <groupId>org.glassfish.jersey.ext</groupId> <artifactId>jersey-spring3</artifactId> <version>${jersey.version}</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </exclusion> </exclusions> </dependency> <!-- Spring 3 dependencies --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>4.2.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.2.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.2.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.2.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.2.1.RELEASE</version> </dependency> <!-- mybatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.3.0</version> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.2.3</version> </dependency> <!-- mysql dirver --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.21</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.13</version> </dependency> <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.3</version> <classifier>jdk15</classifier> </dependency> </dependencies> <properties> <jersey.version>2.21</jersey.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> </project></span>
以后需要自此基础上开发,你们根据自己的需求去加包吧!第一种方式建立的maven项目还需要加入spring依赖包,具体的依赖包配置和第二种类似,再次不在陈述。特别要注意的是:不管第一种还是第二种方式,千万不要忘记jsrsey和spring集成的包。
<span style="font-size:14px;"><!-- Jersey + Spring --> <dependency> <groupId>org.glassfish.jersey.ext</groupId> <artifactId>jersey-spring3</artifactId> <version>${jersey.version}</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> </exclusion> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </exclusion> </exclusions> </dependency></span>
如果缺少这几个包的话,会导致项目中的spring和jersey服务无法串联,最典型的异常就是jersey接口访问正常,但是一般要使用service和dao时,均会出现空指针异常,希望大家要注意,免得大家又犯同样的错误,同时jersey和spring集成版本一定要兼容,否则会出现比如,无法找到某一个类,或者这个service无法注入等问题,切记。
2、maven web restful风格项目的部署
maven web风格项目的部署可以参考我以前写的文章,链接已经附在末尾。
3、运行起来以后,可以根据restful风格来访问测试是否成功