当前位置:   article > 正文

Spring Cloud开发微服务项目_springcloud内置tomcat吗

springcloud内置tomcat吗

Spring Boot基础

本文以实战为导向,讲解了如何使用Spring Cloud开发微服务项目,而Spring Cloud基于SpringBoot,所以本篇先来初步了解如何使用Spring Boot搭建框架。

Spring Boot简介

Spring Boot是由Pivotal 团队提供的基于Spring 的全新框架,其设计目的是简化Spring应用的搭建和开发过程。该框架遵循“约定大于配置”原则,采用特定的方式进行配置,从而使开发者无须进行大量的XML配置。Spring Boot致力于成为蓬勃发展的快速应用开发领域的领导者。

Spring Boot并不重复“造轮子”,而是在原有Spring框架的基础上进行封装,并且它集成了一些类库,用于简化开发。换句话说,Spring Boot就是一个大容器。

关于Spring Boot,其官网是这样描述的:

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications thatyou can "just run".

We take an opinionated view of the Spring platform and third-party libraries so you can get startedwith minimum fuss. Most Spring Boot applications need very little Spring configuration.

从上面的描述中,我们可以了解到,Spring Boot带给了我们全新的应用部署方案,通过它可以很方便地创建独立的、生产级的基于Spring的应用程序。同时,通过Spring平台和第三方库可以轻松构建视图。

其实,Spring Boot默认集成了Tomcat,因此我们可以只编译成jar包,通过Java命令启动应用,大多数Spring Boot应用程序只需要很少的Spring 配置。

第一个 Spring Boot工程

本节中,我们将创建第一个Spring Boot工程,读者可以按照下面的步骤进行操作。

(1)打开 IntelliJ IDEA,依次点击 File→New→Module,在弹出的对话框中选择Maven,并点击Next按钮,创建一个Maven项目。这里我们在 Artifactld一栏中输入demo-lesson-one,在Groupld一栏中输入com.lynn.boot。创建好工程后,为pom.xml增加以下内容:

  1. <parent>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-parent< / artifactId><version>2.0.3.RELEASE</version>
  4. </ parent>
  5. <dependencies>
  6. <dependency>
  7. <groupId>org.springframework. boot</groupId>
  8. <artifactId>spring-boot-starter-web</ artifactId></dependency>
  9. </dependencies>

其中,<parent>标签声明了Spring Boot 的父项目,版本号定义为2.0.3.RELEASE。我们还可以注意到,<dependencies>标签中声明了spring-boot-starter-web依赖,它提供了对Spring MVC的支持。

(2)编写应用启动类Application:

  1. package com.lynn.boot;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot. autoconfigure.SpringBootApplication;
  4. @SpringBootApplication
  5. public class Application {
  6. public static void main(String[] args){
  7. SpringApplication.run(Application.class,args);
  8. }
  9. }

Spring Boot 的强大之处在于可以直接通过main方法启动Web应用程序。在上述代码中,我们提供了应用程序的入口,通过调用SpringApplication.run()来启动内置Web容器。我们注意到,在Application类中添加了@SpringBootApplication注解,我们将在2.4节中介绍它的作用。

默认情况下,Spring Boot 内置了Tomcat。当然,它还支持其他容器,如Jetty。倘若我们要将默认容器改为Jetty ,可以将pom.xml文件修改成下面这样:

  1. <dependency>
  2. <groupId>org.springframework. boot</groupId>
  3. <artifactId>spring-boot-starter-web</ artifactId><exclusions>
  4. <exclusion>
  5. <groupId>org.springframework . boot</groupId>
  6. <artifactId>spring-boot-starter-tomcat</ artifactId></exclusion>
  7. < / exclusions>< / dependency><dependency>
  8. <groupId>org.springframework .boot</groupId>
  9. <artifactId>spring-boot-starter-jetty</ artifactId></dependency>

在上述代码中,我们通过<exclusion>标签将Tomcat的依赖包移除,并增加了Jetty 的依赖包。

(3)编写控制器以验证 Spring Boot框架:

  1. package com. lynn.boot.controller;
  2. import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;
  3. @RestController
  4. public class HelloController f
  5. @RequestMapping(value = "hello")public String hello(){i
  6. return "Hello world!";
  7. }
  8. }

在上述代码中,@RestController注解指示了该类为控制器类,与它对应的注解是@Controller。@RestController注解相当于@Controller注解和@ResponseBody注解的结合。@RequestMapping注解的作用是定义一个HTTP请求地址,默认不限制请求方式,可以是GET、POST亦或其他方法,如果要限制请求方法,可以在注解后面增加 method 属性,如 method=RequestMethod.GET表示只有GET请求才能调用该HTTP地址。

上面提到的注解均为Spring MVC注解,我们之所以能够在这里很方便地使用Spring MVC注解,是因为第(1)步的依赖中添加了spring-boot-starter-web依赖,该依赖集成了Spring MVC.

(4)运行Application类的main方法,并访问localhost:8080/hello,即可看到如图2-1所示的界面。

通过以上示例,我们可以知道:

  1. 使用Spring Boot创建一个工程非常简单,既没有XML配置文件,也没有Tomcat,通过几个简单的注解,运行main方法就能启动一个Web应用;
  2. Spring Boot默认内置Tomcat;
  3. Spring Boot用注解代替了烦琐的XML配置。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号