Restful后台系统搭建(一)

来源:互联网 发布:mac怎么登陆千牛 编辑:程序博客网 时间:2024/06/04 23:48

入行Java Web端已经大概有两年左右了,作为新手小白,一直希望自己做一点什么小功能,考虑过培训时候使用的Spring+status2+mybatis,再配上tomcat部署,但这套框架部署起来很是麻烦,其功能很多作为自己学习使用的框架就有点大材小用了,后来在公司学习到了Restful请求,被其深深吸引,简单而又不缺失功能,一学习才知道有Jersey的框架,再配合jetty Servlet容器,使用和部署是如此的容易。所以我想用几篇文章来描述一下我搭配的学习框架,给刚入门的学弟学妹们一个学习的方向。

1、首先介绍一下这套框架所使用的一些工具及依赖吧:

构建工具:Maven

Maven是一个很方便的构建工具,只要配置好源仓地址,添加一个插件依赖非常容易,并且可以配置build的一些配置,方便构建生成jar、war等。教程我在这里就不讲述了。


测试工具:JMeter

JMeter是个很强大的测试工具,可以模拟前端任何请求(包括普通post/get以及文件上传下载等请求)。教程大家自己去搜索吧,很容易使用。


Servlet容器:Jetty

Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境。Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布。

开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。

我截取了百科上的一句话来描述jetty,该容器的作用和tomcat一样,提供一个servlet的容器,而且是开源的,使用和测试起来都非常方便,不需要额外的程序支持。


Restful框架:Jersey

Restful有什么好处我就不详细说了,总之使用起来很容易。


JSON解析工具:Jackson

我的目标是Restful提供一个JSON格式的请求/返回体,所以json转换工具必不可少。


Junit单元测试:PowerMock

PowerMock很容易可以构造任何想测试的方法,比如私有方法,静态常量想修改值等等,其都可以做到是一个很强大的插件。


数据库连接工具:mybatis

我在培训的时候学习的框架是spring+status2+mybatis,当时很多培训机构培训的都是Hibernate。

但我觉得mybatis使用起来比Hibernate更容易,功能更丰富一些,而且我的公司也是使用mybatis作为数据库连接层,其优势自不必说。


数据库:Mysql

数据库这个其实看自己所好,现在两大主流数据库Mysql和Oracle,自己都可以练习着使用,个人觉得Mysql约束较少,部署起来也容易得很。


2、pom文件及依赖

我的maven源仓地址:

<mirror>      <id>maven-repository</id>      <mirrorOf>maven-repository</mirrorOf>      <name>Human Readable Name for this Mirror.</name>      <url>http://mvnrepository.com</url>    </mirror>    <mirror>      <id>alimaven</id>      <name>aliyun maven</name>      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>      <mirrorOf>central</mirrorOf>            </mirror>


pom文件内容:

<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/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.black.apple.frame</groupId><artifactId>web-background-frame</artifactId><version>1.0.0-SNAPSHOT</version><dependencies><!-- Junit --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><!-- Jersey --><dependency><groupId>com.sun.jersey</groupId><artifactId>jersey-servlet</artifactId><version>1.19</version></dependency><!-- Jetty --><dependency><groupId>org.eclipse.jetty.aggregate</groupId><artifactId>jetty-all-server</artifactId><version>8.1.16.v20140903</version></dependency><!-- 日志输出 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.25</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.25</version></dependency><!-- 数据库依赖 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>6.0.6</version></dependency><!-- mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.2</version></dependency><!-- Json解析 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>2.8.5</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><version>2.8.5</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.8.5</version></dependency><!-- guava工具 --><dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>18.0</version></dependency><!-- 工具 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.5</version></dependency><dependency><groupId>org.powermock</groupId><artifactId>powermock-api-mockito</artifactId><version>1.6.5</version></dependency><dependency><groupId>org.powermock</groupId><artifactId>powermock-module-junit4</artifactId><version>1.6.5</version></dependency></dependencies></project>



0 0
原创粉丝点击