微服务:代码示例、教程

本文介绍了如何使用DropWizard创建轻量级Java应用,包括其组件如Jetty、Jersey、Jackson等,并与SpringBoot进行比较,展示了SpringBoot的强大功能,特别是微服务和RESTful框架Jersey的使用示例。

如何使用DropWizard创建


DropWizard将成熟和稳定的Java库整合到轻量级软件包中,您可以将其用于自己的应用程序。它使用Jetty表示HTTP,Jersey表示REST,Jackson表示JSON,以及Metrics、Guava、Logback、Hibernate Validator、ApacheHttpClient、Liquibase、Mustache、Joda Time和Freemarker。

您可以使用Maven设置Dropwizard应用程序。怎样

在POM中,使用最新版本的dropwizard添加 dropwizard.version 属性。

<dropwizard.version>LATEST VERSION</dropwizard.version>

io.dropwizard

dropwizard-core

${version}

这将为您设置一个Maven项目。从这里,您可以创建配置类、应用程序类、表示类、资源类或运行状况检查,还可以构建胖jar,然后运行应用程序。

示例代码:

package com.example.helloworld;

import com.yammer.dropwizard.config.Configuration;

import com.fasterxml.jackson.annotation.JsonProperty;

import org.hibernate.validator.constraints.NotEmpty;

public class HelloWorldConfiguration extends Configuration {

@NotEmpty

@JsonProperty

private String template;

@NotEmpty

@JsonProperty

private String defaultName = “Stranger”;

public String getTemplate() {

return template;

}

public String getDefaultName() {

return defaultName;

}

}

带Spring Boot的微服务

SpringBoot为您提供了Java应用程序,可通过嵌入式服务器与您自己的应用程序一起使用。它使用Tomcat,因此您不必使用JavaEE容器。

您可以在这里找到所有springboot项目,您将认识到springboot拥有应用程序所需的所有基础设施。不管你是为安全、配置还是大数据编写应用程序;它有一个Spring Boot项目。

Spring Boot项目包括:

  • Spring IO平台:版本化应用程序的企业级分发。

  • Spring框架:用于事务管理、依赖项注入、数据访问、消息传递和web应用程序。

  • SpringCloud:用于分布式系统,用于构建或部署微服务。

  • Spring数据:对于与数据访问相关的微服务,可以是map reduce、关系型或非关系型。

  • Spring批处理:用于高级别的批处理操作。

  • Spring安全性:用于授权和身份验证支持。

  • SpringREST文档:用于记录RESTful服务。

  • SpringSocial:用于连接社交媒体API。

  • Spring Mobile:用于移动Web应用程序。

示例代码:

import org.springframework.boot.*;

import org.springframework.boot.autoconfigure.*;

import org.springframework.stereotype.*;

import org.springframework.web.bind.annotation.*;

@RestController

@EnableAutoConfiguration

public class Example {

@RequestMapping(“/”)

String home() {

return “Hello World!”;

}

public static void main(String[] args) throws Exception {

SpringApplication.run(Example.class, args);

}

}

Jersey

Jersey RESTful框架是开源的,它基于JAX-RS规范。Jersey的应用程序可以扩展现有的JAX-RS实现,并添加使RESTful服务更简单的特性和实用程序,以及使客户机开发更容易。

Jersey最好的地方是它有大量的文档,其中充满了示例。它速度也很快,路由也非常简单。

您可以尝试的示例代码:

package org.glassfish.jersey.examples.helloworld;

import javax.ws.rs.GET;

import javax.ws.rs.Path;

import javax.ws.rs.Produces;

@Path(“helloworld”)

public class HelloWorldResource {

public static final String CLICHED_MESSAGE = “Hello World!”;

@GET

@Produces(“text/plain”)

public String getHello() {

return CLICHED_MESSAGE;

}

}

package org.glassfish.jersey.examples.helloworld;

import javax.ws.rs.GET;

import javax.ws.rs.Path;

最后

如果觉得本文对你有帮助的话,不妨给我点个赞,关注一下吧!

MESSAGE;

}

}

package org.glassfish.jersey.examples.helloworld;

import javax.ws.rs.GET;

import javax.ws.rs.Path;

最后

如果觉得本文对你有帮助的话,不妨给我点个赞,关注一下吧!

[外链图片转存中…(img-NnboF0U3-1714700916721)]

[外链图片转存中…(img-RzMKH2yo-1714700916722)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值