這篇文章主要從以下幾個(gè)方面來(lái)介紹。簡(jiǎn)單介紹下jersey,springboot,重點(diǎn)介紹如何整合springboot與jersey。
10年積累的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶(hù)對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶(hù)得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有寧津免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
什么是jersey
閱讀官方文檔請(qǐng)點(diǎn)擊:jsersey。RESTful Web Services in Java即java中的一種restful框架。jersey使用了JAX-RS規(guī)范來(lái)約束API的開(kāi)發(fā)。既然jersey是基于restful風(fēng)格的框架,那么什么是restful呢,主要有以下幾點(diǎn):
什么是springboot
簡(jiǎn)單介紹一下,Springboot是由spring衍生的一個(gè)框架,boot是輕量的意思,即輕量級(jí)的spring。Springboot繼承了spring的特性,但是呢,覺(jué)得spring太繁瑣,于是springboot就簡(jiǎn)化了spring的配置,不需要寫(xiě)復(fù)雜的配置文件就可以實(shí)現(xiàn)spring原有的功能特點(diǎn)。只需要在pom.xml中引入依賴(lài)就能實(shí)現(xiàn)各種模塊和技術(shù)的整合。
為什么要使用springboot+jersey
如果要實(shí)現(xiàn)rest,jersey是一個(gè)很不錯(cuò)的選擇。springboot是java中一個(gè)輕量級(jí)的框架,能簡(jiǎn)化配置,不復(fù)雜且功能齊全,因此結(jié)合起來(lái)使用,也是一個(gè)不錯(cuò)的選擇。
如何整合springboot與jersey
1.創(chuàng)建maven項(xiàng)目
2.添加springboot配置。
(1)在pom.xml中添加springboot父依賴(lài)
org.springframework.boot spring-boot-starter-parent 1.5.1.RELEASE
(2)在pom.xml中添加springbootweb依賴(lài)和junit單元測(cè)試依賴(lài)(如不使用單元測(cè)試,可不加),引入依賴(lài)后在控制臺(tái)執(zhí)行命令 mvn clean install
org.springframework.boot spring-boot-starter-web junit junit 4.12
(3)創(chuàng)建Springboot入口:Application.java,此時(shí)一個(gè)springboot的maven項(xiàng)目已經(jīng)創(chuàng)建成功,執(zhí)行main函數(shù)就可以啟動(dòng)項(xiàng)目。(是不是確實(shí)很輕量級(jí)..?)
package com.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * Created by Angela on 2017/4/20. */ @SpringBootApplication public class Application { public static void main(String[] args){ //springboot 入口 SpringApplication.run(Application.class,args); } }
(4)添加jersey依賴(lài),在pom.xml中添加依賴(lài),在控制臺(tái)執(zhí)行命令mvn install
org.springframework.boot spring-boot-starter-jersey
(5)創(chuàng)建jersey配置文件
package com.demo.config.jersey; import org.glassfish.jersey.server.ResourceConfig; import org.springframework.stereotype.Component; /** * Created by Angela on 2017/4/20. */ @Component public class JerseyConfig extends ResourceConfig { public JerseyConfig() { //構(gòu)造函數(shù),在這里注冊(cè)需要使用的內(nèi)容,(過(guò)濾器,攔截器,API等) } }
此時(shí),基于jersey的springboot項(xiàng)目已經(jīng)搭建成功。我們寫(xiě)demo來(lái)驗(yàn)證一下。
(6)基于jersey的api使用
配置文件:
創(chuàng)建項(xiàng)目的配置文件application.yml,指定name為local,端口號(hào)為8081,如下:
spring: name: local server: port: 8081
資源,即API,這里以get方法為例:
package com.demo.web; import com.demo.model.City; import org.springframework.stereotype.Component; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; /** * Created by Angela on 2017/4/20. */ @Component @Path("/demo") public class Demo { //path注解指定路徑,get注解指定訪問(wèn)方式,produces注解指定了返回值類(lèi)型,這里返回JSON @Path("/city") @GET @Produces(MediaType.APPLICATION_JSON) public City get(){ City city = new City(); city.setId(1L); city.setCityName("beijing"); city.setCityCode("001"); System.out.println(city.toString()); return city; } }
jersey配置(有兩種注冊(cè)方式,注冊(cè)類(lèi),注冊(cè)包):
package com.demo.config.jersey; import com.demo.web.Demo; import org.glassfish.jersey.server.ResourceConfig; import org.springframework.stereotype.Component; /** * Created by Angela on 2017/4/20. */ @Component public class JerseyConfig extends ResourceConfig { public JerseyConfig() { //注冊(cè)類(lèi)的方式 // register(Demo.class); //注冊(cè)包的方式 packages("com.demo.web"); } }
這里有個(gè)小坑。項(xiàng)目打?yàn)閖ar包啟動(dòng)時(shí),不能使用包注冊(cè)的方式,否則會(huì)報(bào)FileNotFound異常。
此時(shí),demo已經(jīng)完成,我們可以通過(guò)瀏覽器或其他工具訪問(wèn)接口,訪問(wèn)路徑:http://localhost:8081/demo/city,返回JSON字符串:{“id”:1,”cityName”:”beijing”,”cityCode”:”001”}。
項(xiàng)目代碼地址:https://github.com/fengqing0216/learning.git
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。