Spring Cloud开发微服务项目

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增加以下内容:

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent< / artifactId><version>2.0.3.RELEASE</version>
</ parent>
<dependencies>
<dependency>
<groupId>org.springframework. boot</groupId>
<artifactId>spring-boot-starter-web</ artifactId></dependency>
</dependencies>

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

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

package com.lynn.boot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot. autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args){
SpringApplication.run(Application.class,args);
}
}

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

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

<dependency>
<groupId>org.springframework. boot</groupId>
<artifactId>spring-boot-starter-web</ artifactId><exclusions>
<exclusion>
<groupId>org.springframework . boot</groupId>
<artifactId>spring-boot-starter-tomcat</ artifactId></exclusion>
< / exclusions>< / dependency><dependency>
<groupId>org.springframework .boot</groupId>
<artifactId>spring-boot-starter-jetty</ artifactId></dependency>

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

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

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

在上述代码中,@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配置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值