乱人伦 国语对白海角社区,五月激情丁香婷婷综合中文字幕,欧美伊人婷婷久久五月综合,亚洲精品无amm毛片,亚洲男人第一无码AV网站,国产日韩欧美丝袜一区二区,亚洲一区精品在线观看

Spring Boot与JAX-YB开元财神捕鱼

Spring Boot与JAX

2026-01-16 04:52:12投稿人:英亞網(wǎng)站官網(wǎng)(張家口)有限公司圍觀16663 評論

Spring Boot與JAX-RS框架Jersey的完美搭配

編輯推薦:

本文來自于oschina,本文主要介紹了一個在 spring boot 項目添加Jeresy框架的詳細過程 ,希望對大家能有所幫助 。

Jeresy是一個輕量級的JAX-RS框架

添加Jeresy 2.x的依賴

compile group: 'org.glassfish.jersey.core', name: 'jersey-client', version: '2.26'compile group: 'org.glassfish.jersey.containers', name: 'jersey-container-servlet', version: '2.26'compile group: 'org.glassfish.jersey.media', name: 'jersey-media-json-jackson', version: '2.26'

build.gradle文件內(nèi)容:

buildscript { ext { springBootVersion = '1.5.8.RELEASE'}repositories { mavenLocal()maven{  url "http://SVN:8081/nexus/content/groups/public"}mavenCentral()jcenter()}dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${ springBootVersion}")}} apply plugin: 'java'apply plugin: 'eclipse'apply plugin: 'org.springframework.boot' group = 'com.example'version = '0.0.1-SNAPSHOT'sourceCompatibility = 1.8[compileJava, compileTestJava]*.options*.encoding = 'UTF-8' repositories { mavenLocal()maven{  url "http://SVN:8081/nexus/content/groups/public"}mavenCentral()jcenter()} dependencies { compile('org.springframework.boot:spring-boot-configuration-processor')compile('org.springframework.boot:spring-boot-starter-web')compile group: 'org.glassfish.jersey.core', name: 'jersey-client', version: '2.26'compile group: 'org.glassfish.jersey.containers', name: 'jersey-container-servlet', version: '2.26'compile group: 'org.glassfish.jersey.media', name: 'jersey-media-json-jackson', version: '2.26'testCompile('org.springframework.boot:spring-boot-starter-test')}

創(chuàng)建一個 spring boot 項目

在IDE里一路next

Spring Boot啟動APP

package com.example.demo; import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication // @wjw 是Sprnig Boot項目的核心注解,主要目的是開啟自動配置.public class JerseyApplication {  public static void main(String[] args) { SpringApplication.run(JerseyApplication.class, args);} } 

注冊jersey servlet

這和原來在 web.xml 配置的是一樣的,設(shè)置 Mapping,設(shè)置 init 初始化參數(shù),對應(yīng)的 servlet class name .

所有的rest/*請求都將被 ServletContainer jersey servlet 容器接管.

package com.example.demo; import org.glassfish.jersey.servlet.ServletContainer;import org.glassfish.jersey.servlet.ServletProperties;import org.springframework.boot.web.servlet.ServletRegistrationBean;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configurationpublic class ConfigBean { @Beanpublic ServletRegistrationBean jerseyServlet() { //手動注冊servletServletRegistrationBean registrationBean = new ServletRegistrationBean(new ServletContainer(), "/rest/*");registrationBean.addInitParameter(ServletProperties.JAXRS_APPLICATION_CLASS,JerseyResourceConfig.class.getName()); return registrationBean;}}

創(chuàng)建jersey Resources

packages方式是采用掃描包的方式批量注冊

register 是單個注冊

package com.example.demo; import org.glassfish.jersey.server.ResourceConfig;import org.springframework.web.filter.RequestContextFilter; public class JerseyResourceConfig extends ResourceConfig {  public JerseyResourceConfig() { /** Servlet Filter that exposes the request to the current thread, through both org.springframework.context.i18n.LocaleContextHolder and RequestContextHolder. To be registered as filter in web.xml.
Alternatively, Spring's org.springframework.web.context.request.RequestContextListener and Spring's org.springframework.web.servlet.DispatcherServlet also expose the same request context to the current thread.
This filter is mainly for use with third-party servlets, e.g. the JSF FacesServlet. Within Spring's own web support, DispatcherServlet's processing is perfectly sufficient.
*/register(RequestContextFilter.class);// 加載資源文件,這里直接掃描com.example.demo.controller下的所有api packages("com.example.demo.controller"); //register(HelloController.class); //@wjw_note: 這種是注冊單個的 JAX-RS component!}}

創(chuàng)建jersey Controller,使用 JAX-RS 規(guī)范的注解進行設(shè)置即可

package com.example.demo.controller; import javax.ws.rs.GET;import javax.ws.rs.Path;import javax.ws.rs.PathParam;import javax.ws.rs.Produces;import javax.ws.rs.core.MediaType;import com.example.demo.User;@Path("/user/")public class HelloController { @Path("{ id}")@GET@Produces(MediaType.APPLICATION_JSON)public User hello(@PathParam("id") Long id) { User user = new User();user.setID(id);user.setUserName("mvc.");return user;}}

啟動Spring Boot程序

默認端口號是:8080

在瀏覽器里測試

輸入:http://127.0.0.1:8080/rest//user/123678

返回: { "userName": "mvc.","id": 123678}



因為內(nèi)容實在是太多了,小編在此就不做過多的介紹了 ,想了解更多的Java知識可以關(guān)注小編!

展開閱讀全文

投稿時間:2022-06-05  最后更新  :2022-09-07