Spring boot学习笔记之一:简介及创建第一个项目

一、简介

现如今,互联网的热点已经成为微服务了,如果你到现在还没有听说过微服务,或者还不了解,那表示你已经out了,需要开始作准备了。现在主流的微服务框架包括早期阿里的Dubbo,以及现在热门的SpringCloud,所以我们开始要准备开始学习SpringCloud了,扯远了,因为SpringCloud是基于SpringBoot结构上去进行开发,所以我们也要学习SpringBoot,平时我们使用SSM,SSH等,是不是配置文件一大堆,而且经常不知道哪里配置错了,导致问题很多。SpringBoot就是为了解决这个问题的。使用起来非常简单。

1.1 SpringBoot简介

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

Spring Boot特点:

  1. 创建独立的Spring应用程序

  2. 嵌入的Tomcat,无需部署WAR文件

  3. 简化Maven配置

  4. 自动配置Spring

  5. 提供生产就绪型功能,如指标,健康检查和外部配置

  6. 绝对没有代码生成和对XML没有要求配置

二、 Hello World

2.1 建立Spring Boot工程

Eclipse建立Spring Boot工程,可以自行参考其它博客有介绍,请自行搜索

下边演示Intellij IDEA创建SpringBoot项目

  1. 选择Spring Initializr,选择一个jdk版本,这里我们选择1.8,Initializr Service URL地址默认就可以

2.如图页面,按照需要输入修改即可,Group,Artifact,Package等信息


3.这个页面选择的是项目依赖,这个是spring-boot集成其它框架的选项,可以勾选多个,spring-boot就会帮我们集成到项目里,非常简单方便,这里我就简单使用web


4.输入项目名称,选择项目存放的路径,下面的模块名称一般会随着上方的输入自动变化,如果只有一个模块保持默认即可。


5.创建完成之后,需要等待一段时间,等待spring-boot为我们创建项目和下载依赖包,构建完成之后,如图所示的目录结构帮我们生成好了。还会生成一个SpringbootDemoApplication类,这个类里面有个main方法,就是启动项目的入口文件。

意:启动前需要修改一下pom.xml文件 去掉<scope>provided</scope>,不然无法启动

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <scope>provided</scope>
</dependency>
改为
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>

假如不去掉<scope>provided</scope>,会出现如下错误,无法启动,我们右击Run As 选择 Spring Boot app,这里我们不需要Tomcat 因为SpringBoot把Tomcat集成了,默认端口8080

我们浏览器输入:http://localhost:8080/

出现这个 说明项目启动成功

2.2 编码


我们现在配置一个HelloWorld请求,在com.jd包下,新建一个controller包,在包下新建HelloWorldController类
package com.jd.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController    //组合注解==>返回json数据,等同于@ReponseBody与@Controller
public class HelloWorldController {

    @RequestMapping("/hello")
    public String say(){
        return "spring boot hello world";
    }
}

注意,新建的类一定要在com.jd包下,即所有新建的包需要在SpringBoot的启动类(SpringbootDemoApplication)下,不然无法识别,会出现如下错误


Whitelabel Error Page
 

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Wed Dec 14 16:35:25 CST 2016
There was an unexpected error (type=Not Found, status=404).
No message available

问题很像是没有访问地址不对,第一感觉以为url写的不对。

其实不是,真正的原因是【Application启动类放的位置不对】要将Application放在最外层,也就是要包含所有子包。springboot会自动加载启动类所在包下及其子包下的所有组件

然后我们重新启动SpringbootDemoApplication类

请求 http://localhost:8080/hello

请求成功,我们第一个spring boot的项目就到这里了。


猜你喜欢

转载自blog.csdn.net/eeeeasy/article/details/80794428