使用springboot框架有必要再集成jersey 和spring boot吗

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&【springboot 入门篇】第2篇
springboot的各种配置 - 简书
【springboot 入门篇】第2篇
springboot的各种配置
1. 配置文件简介
spring boot使用一个全局配置文件:application.properties或者application.yml,放置在src/main/resources目录下或者类路径的/config目录下。
application.properties是我们熟知的键值对配置文件:
application.properties
application.yml是yaml语言的配置文件,yaml是一种以数据为中心的语言,在配置数据的时候具有面向对象的特征。我们以后的代码都会使用yml格式的配置文件。:
application.yml
spring boot 的全局配置文件的作用是对一些默认配置的配置进行修改。后面我们会详细的讲解。
2. pom配置文件(starter)
pom,是maven的配置文件,gradel也差不多,因为我一直在用maven,所以就讲maven了。
为了解决大型项目以及一些常用组件jar包过多的问题,spring boot 为我们提供了许多starter pom,每一个pom都已经添加好了对应的依赖,以往我们需要写茫茫多的dependence,但是现在只需要一个starter就可以了,并且spring boot 还为它们提供了默认的配置和自动配置的bean。
2.1 官方starter
2.1.1 应用程序的starters
spring-boot-starter
核心Spring Boot starter,包括自动配置支持,日志和YAML
spring-boot-starter-actuator
生产准备的特性,用于帮我们监控和管理应用
spring-boot-starter-amqp
对”高级消息队列协议”的支持,通过spring-rabbit实现
spring-boot-starter-aop
对面向切面编程的支持,包括spring-aop和AspectJ
spring-boot-starter-batch
对Spring Batch的支持,包括HSQLDB数据库
spring-boot-starter-cloud-connectors
对Spring Cloud Connectors的支持,简化在云平台下(例如,Cloud Foundry 和Heroku)服务的连接
spring-boot-starter-data-elasticsearch
对Elasticsearch搜索和分析引擎的支持,包括spring-data-elasticsearch
spring-boot-starter-data-gemfire
对GemFire分布式数据存储的支持,包括spring-data-gemfire
spring-boot-starter-data-jpa
对”Java持久化API”的支持,包括spring-data-jpa,spring-orm和Hibernate
spring-boot-starter-data-mongodb
对MongoDB NOSQL数据库的支持,包括spring-data-mongodb
spring-boot-starter-data-rest
对通过REST暴露Spring Data仓库的支持,通过spring-data-rest-webmvc实现
spring-boot-starter-data-solr
对Apache Solr搜索平台的支持,包括spring-data-solr
spring-boot-starter-freemarker
对FreeMarker模板引擎的支持
spring-boot-starter-groovy-templates
对Groovy模板引擎的支持
spring-boot-starter-hateoas
对基于HATEOAS的RESTful服务的支持,通过spring-hateoas实现
spring-boot-starter-hornetq
对”Java消息服务API”的支持,通过HornetQ实现
spring-boot-starter-integration
对普通spring-integration模块的支持
spring-boot-starter-jdbc
对JDBC数据库的支持
spring-boot-starter-jersey
对Jersey RESTful Web服务框架的支持
spring-boot-starter-jta-atomikos
对JTA分布式事务的支持,通过Atomikos实现
spring-boot-starter-jta-bitronix
对JTA分布式事务的支持,通过Bitronix实现
spring-boot-starter-mail
对javax.mail的支持
spring-boot-starter-mobile
对spring-mobile的支持
spring-boot-starter-mustache
对Mustache模板引擎的支持
spring-boot-starter-redis
对REDIS键值数据存储的支持,包括spring-redis
spring-boot-starter-security
对spring-security的支持
spring-boot-starter-social-facebook
对spring-social-facebook的支持
spring-boot-starter-social-linkedin
对spring-social-linkedin的支持
spring-boot-starter-social-twitter
对spring-social-twitter的支持
spring-boot-starter-test
对常用测试依赖的支持,包括JUnit, Hamcrest和Mockito,还有spring-test模块
spring-boot-starter-thymeleaf
对Thymeleaf模板引擎的支持,包括和Spring的集成
spring-boot-starter-velocity
对Velocity模板引擎的支持
spring-boot-starter-web
对全栈web开发的支持, 包括Tomcat和spring-webmvc
spring-boot-starter-websocket
对WebSocket开发的支持
spring-boot-starter-ws
对Spring Web服务的支持
2.1.2 spring boot生产准备的starters:
spring-boot-starter-actuator
添加生产准备特性,比如指标和监控
spring-boot-starter-remote-shell
添加远程ssh shell支持
2.1.3 排除或交换具体技术方面的starters
spring-boot-starter-jetty
导入Jetty HTTP引擎(作为Tomcat的替代)
spring-boot-starter-log4j
对Log4J日志系统的支持
spring-boot-starter-logging
导入Spring Boot的默认日志系统
spring-boot-starter-tomcat
导入Spring Boot的默认HTTP引擎
spring-boot-starter-undertow
导入Undertow HTTP引擎(作为Tomcat的替代)
2.2 非官方starter
也有一些第三方为spring boot 提供了starter:
Handlebars
Apache Camel
Spring Batch(高级用法)
Jade Templates(Jade4J)
这些都可以在github上找到,感兴趣的可以去搜一下。
3. xml配置文件
spring boot 提倡零配置,也就是无xml配置,但是在实际项目中,可能有一些要求必须使用xml配置,这时我们可以使用spring提供的@ImportResource 来加载xml配置,比如:
@ImportResource({"classpath:some-context.xml","classpath:other-context.xml"})
4. 命令行参数配置
上一篇文章中也有提到,spring boot 项目是可以打成jar包的,然后通过java -jar xxx.jar 来执行,我们都知道,main函数是可以接受参数的,同样,spring boot的main函数也可以。
我们可以通过下面的命令来修改Tomcat的端口号:
java -jar xxx.jar --server.port=9090
5. 自定义属性配置
5.1 普通配置
在写spring项目的时候,我们可以在properties文件中定义一个变量,然后再代码中通过 @PropertySource 指明 properties 文件的位置,然后通过@Value注入相应的值。
在spring boot 中我们同样可以自定义一个变量,因为spring boot中的全局配置文件默认在一个目录下,所以我们可以直接用@Value注入值。
比如,在上一篇文章的demo项目中,我们可以在application.yml文件中这样定义:
hello: hello world
修改DemoApplication.java代码为:
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class})
@RestController
public class DemoApplication {
@Value("${key.hello}")
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
@RequestMapping("/hello")
public String hello(){
运行项目,在浏览器中访问
值被正常的注入进去了。
5.2 类型安全的配置
上面的例子中,使用@Value注入每个配置在实际的应用中会显得格外的麻烦,因为配置一般会有很多,用上面的方式就要写好多@Value,并且如果在多个类文件中都使用这个值的话,工作量会更大。所以,需要一种更好的方式。并且,这种方式是有安全隐患的,比如我需要的是一个long类型,但是注入的却是String,这个时候就报错了:
Failed to convert value of type 'java.lang.String' to required type 'long';
spring boot 提供了基于类型安全的配置方式,通过@ConfigurationProperties将properties属性和一个bean及其属性关联,从而实现类型安全的配置。
我们来看一下:
application.yml:
name: cleverfan
在demo项目中创建一个class: Person.java
@Component
@ConfigurationProperties(prefix = "key")
public class Person {
public void setName(String name) {
this.name =
public void setSex(String sex) {
this.sex =
public String getName() {
public String getSex() {
修改DemoApplication.java :
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class})
@RestController
public class DemoApplication {
@Autowired
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
@RequestMapping("/hello")
public String hello(){
return person.getName() + ": " + person.getSex();
启动项目,访问
回到刚刚的问题,如果这个时候我需要的是long,但是给的是String怎么办呢?这里给出一个很简单的处理方式:
Person.java
@Component
@ConfigurationProperties(prefix = "key")
public class Person {
public void setName(String name) {
this.name =
public void setSex(String sex) {
this.sex = Long.valueOf(sex);
}catch (Exception e){
this.sex = 0L;
public String getName() {
public long getSex() {
yml配置文件不变,我们传递的是字符串,这次重启项目,访问
这样就可以简单的保证数据的安全了。
6. 日志配置
spring boot 支持Java Util Loggin、Log4J、Log4J2和LogBack作为日志框架,无论使用哪种日志框架,spring boot已为当前使用日志框架的控制台输出及文件输出做好了配置。
默认情况下,spring boot 使用 Logback作为日志框架。可以在配置文件中(yml)修改默认配置文件的配置:
配置日志级别:logging:
level: debug
配置日志文件logging:
springframework:
web: debug
7. Profile配置
Profile 是 spring 用来针对不同的环境对不同的配置提供支持的,比如生成环境,测试环境和开发环境。全局 Profile 使用application-{profile}.yml(例如application-prod.yml)命名。
下面我们做一个演示,我们把demo项目分为生产(prod)和开发(dev)环境,生产环境下端口号为8000,开发环境下为8888。
我们在demo项目的application.yml文件的同级目录下创建两个文件:application-prod.yml:
port: 8000
application-dev.yml:
port: 8888
目录结构是这样的:
application.yml
name: cleverfan
level: debug
active: dev
启动项目:
端口号是8888
修改application.yml:
active: prod
重新启动项目:
端口号的8000
证明我们的配置生效了。
配置就先讲到这里,如果有疑问或者错误,请及时与我联系。如果有需要补充的地方,也可以私戳我~
一个不断前进的大学生
我已委托“维权骑士”()为我的文章进行维权行动。
如需转载请访问/pub/pub_author?greatAuthor=CCDED&type=0获得合法授权1576人阅读
spring-boot(19)
一、什么是jersey?
Jersey RESTful 框架是开源的RESTful框架, 实现了JAX-RS (JSR 311 & JSR 339) 规范。
它扩展了JAX-RS 参考实现, 提供了更多的特性和工具, 可以进一步地简化 RESTful service 和 client 开发。与Struts类&#20284;,它同样可以和hibernate,
spring框架整合。
Jersey共计有4中处理方式,即:@GET,@POST,@DELETE,@PUT。由于Jersey中文资料较少。想学习的可以通过官网API学习。
jersey常用注解解释:
Annotation
相当于数据库的查询数据操作
相当于数据库的插入数据操作
相当于数据库的更新数据操作
相当于数据的删除数据操作
定义资源的访问路径,client通过这个路径访问资源。比如:@Path(&user&)
指定返回MIME&#26684;式
资源按照那种数据&#26684;式返回,可取的&#20540;有:MediaType.APPLICATION_XXX。比如:@Produces(MediaType.APPLICATION_XML)
接受指定的MIME&#26684;式
只有符合这个参数设置的请求再能访问到这个资源。比如@Consumes(&application/x-www-form-urlencoded&)
@PathParam
uri路径参数
写在方法的参数中,获得请求路径参数。比如:@PathParam(&username&) String userName
@QueryParam
uri路径请求参数
写在方法的参数中,获得请求路径附带的参数。比如:@QueryParam(&desc&) String desc
@DefaultValue
设置@QueryParam参数的默认&#20540;
如果@QueryParam没有接收到&#20540;,就使用默认&#20540;。比如:@DefaultValue(&description&) @QueryParam(&desc&) String desc
@FormParam
form传递的参数
接受form传递过来的参数。比如:@FormParam(&name&) String userName
@BeanParam
通过Bena的形式传递参数
接受client传递的bean类型的参数,同时这个bean可以在属性上配置@FormParam用以解决client的属性名称和bean的属性名称不一致的问题。比如:@BeanParam User user
获得一些系统环境信息
通过@Context可以获得以下信息:UriInfo、ServletConfig、ServletContext、HttpServletRequest、HttpServletResponse和HttpHeaders等
@XmlRootElement
将bean转换为xml
如果要讲bean以xml或json的&#26684;式返回,必须要这个注解。比如:
@XmlRootElement
public class User{...}
@XmlElements
@XmlElement
二、与spring-boot的使用
&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&spring-boot-Jersey&/groupId&
&artifactId&spring-boot-Jersey&/artifactId&
&packaging&war&/packaging&
&version&0.0.1-SNAPSHOT&/version&
&name&spring-boot-Jersey&/name&
&url&http://maven.apache.org&/url&
&properties&
&project.build.sourceEncoding&UTF-8&/project.build.sourceEncoding&
&!-- jdk版本号,angel在这里使用1.8,大家修改为大家本地配置的jdk版本号即可 --&
&java.version&1.7&/java.version&
&/properties&
spring boot 父节点依赖,
引入这个之后相关的引入就不需要添加version配置,
spring boot会自动选择最合适的版本进行添加。
&groupId&org.springframework.boot&/groupId&
&artifactId&spring-boot-starter-parent&/artifactId&
&version&1.4.0.RELEASE&/version&
&dependencies&
&dependency&
&groupId&junit&/groupId&
&artifactId&junit&/artifactId&
&scope&test&/scope&
&/dependency&
&!-- jersey --&
&dependency&
&groupId&org.springframework.boot&/groupId&
&artifactId&spring-boot-starter-jersey&/artifactId&
&/dependency&
&/dependencies&
&artifactId&maven-compiler-plugin&/artifactId&
&configuration&
&source&1.7&/source&
&target&1.7&/target&
&/configuration&
&/plugins&
&finalName&spring-boot-Jersey&/finalName&
&/project&
package com.
import org.glassfish.jersey.servlet.ServletC
import org.glassfish.jersey.servlet.ServletP
import org.springframework.boot.SpringA
import org.springframework.boot.autoconfigure.SpringBootA
import org.springframework.boot.web.servlet.ServletRegistrationB
import org.springframework.context.annotation.B
import com.zjq.config.JerseyC
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
public ServletRegistrationBean jersetServlet(){
ServletRegistrationBean registration = new ServletRegistrationBean(new ServletContainer(), &/jersey/*&);
// our rest resources will be available in the path /jersey/*
registration.addInitParameter(ServletProperties.JAXRS_APPLICATION_CLASS, JerseyConfig.class.getName());
JerseyConfig.java
package com.zjq.
import org.glassfish.jersey.server.ResourceC
import org.glassfish.jersey.server.spring.scope.RequestContextF
public class JerseyConfig extends ResourceConfig{
public JerseyConfig() {
register(RequestContextFilter.class);
//配置restful package.
packages(&com.zjq&);
JerseyTest.java
package com.
import java.util.HashM
import java.util.M
import javax.ws.rs.GET;
import javax.ws.rs.P
import javax.ws.rs.P
import javax.ws.rs.core.MediaT
import org.
@Path(&/&)
@Component
public class JerseyTest {
@Produces(MediaType.APPLICATION_JSON)
@Path(&/hello&)
public Map&String,Object& hello() {
Map&String,Object& map = new HashMap&String,Object&();
map.put(&code&,&1&);
map.put(&codeMsg&, &success&);
访问:http://localhost:8080/jersey/hello
{&codeMsg&:&success&,&code&:&1&}
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:40919次
积分:1018
积分:1018
排名:千里之外
原创:55篇
转载:27篇
评论:13条
(1)(3)(6)(7)(7)(8)(7)(24)(19)> 使用Jersey框架
现在访问服务器数据的方式有很多种,主要有两种一个是通过JDBC连接数据库,访问数据库(
Java 并发开发:Lock 框架详解,我们已经知道,synchronized 是java的关键字,是Java的内置特性
浅谈 Spring 框架注解的用法分析,众所周知,在JavaEE开发框架中,Spring框架是用的最多的,
Java 泛型详解,泛型是Java中一个非常重要的知识点,在Java集合类框架中泛型被广泛应用。
2017 年你不能错过的 Java 类库,这篇文章是在我看过 Andres Almiray 的一篇介绍文后,整理出来
结合IPO方法论,分享我在数据产品中的修炼经验。结合 IPO 这个框架,讲一下个人对数据产
Linux管理员不可不知十大PHP安全要点,PHP是使用最广泛的脚本编程语言之一。市场份额颇能
Win10系统日历如何取消:第一步、使用微软账号登陆微软日历网页,点击左上部粗轮状按钮
如何使用win10 的放大镜,首先点击右下角的通知,然后点击所有设置。
如何在你的所有设备使用win10 OneDrive同步文件,第1步:创建Microsoft帐户和登录到OneDrive。
在 Linux 系统下使用 PhotoRec & TestDisk 工具来恢复文件,当你在系统中有意或无意地使用 shift +
step-by-step构造JerseyWebApplication,这是一个Hello World例子如何使用Jersey构造一个Web Application。
Jersey的使用详解:ersey是JAX-RS(JSR311)开源参考实现用于构建RESTful Web service,它包含三个部
今天学习spring mvc时用到了一个jersey库,使用该库可以直接把文件上传到tomcat服务器。而在to
现在访问服务器数据的方式有很多种,主要有两种一个是通过JDBC连接数据库,访问数据库(
jersey构建rest服务返回json数据
为什么你每次和开发沟通需求,都像打仗一样?今天不谈产品规划,也不谈框架,更不谈原
is框架的注解问题:返回的类型:参数对象的类型,Object的返回类型,是一个对象,但是使
Android三大图片框架的比较,主要的图片框架:Fresco、Glide、Picasso,由于ImageLoader现已不再更
IIC设备驱动程序(四)————IIC总线驱动程序框架分析,一、驱动程序分析。
Kanzi基础---Kanzi的4层框架,封装了各个系统相关的api,比如窗口系统,graphics api,输入输出
Win7内存诊断工具在哪 如何使用:1、首先鼠标点击开始菜单按钮,在菜单列表中选择“控制
在 Linux 中永久并安全删除文件和目录 只需这 3 招,在大多数情况下,我们习惯于使用 Delete
win7机箱前置耳机插孔无法使用怎么办:1、首先选择点击“开始--控制面板”,打开控制面
Linux 命令(9):touch 命令,linux的touch命令不常用,一般在使用make的时候可能会用到,用来
Win7系统的刻录机如何使用:1:先确认系统光驱是不是刻录机,光驱标志RW表示可刻录;光盘也
1969年,KenThompson和Dennis Ritchie在MurrayHill,New Jersey的贝尔电话实验室开发了与C语言一致的UNIX
本文承接我的另一篇博文:Spring& 43;Jersey& 43;Hibernate& 43;MySQL& 43;HTML实现用户信息增删改查案
Spring与Jersey整合相对比较简单,但是如果与前端进行交互,实现前后端传& 20540;,那就会
这里先介绍关于rest的post方式如何来更新list数组,具体rest的相关概念可以参考
热门文章热门标签
09月16日 |
09月16日 |
09月16日 |
09月16日 |
09月16日 |
09月16日 |
09月16日 |
09月16日 |}

我要回帖

更多关于 jersey 和spring boot 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信