一、SpringBoot简介

  开发团队:Pivotal团队

  主要目的:简化新Spring应用的初始搭建以及开发过程。

  秉持理念:约定优于配置。(该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置)

二、SpringBoot的特点

  1、快速创建独立的Spring应用程序。

    Spring Boot 并不是对 Spring 功能上的增强,而是提供了一种快速使用 Spring 的方式

  2、嵌入的Tomcat,不需要部署war文件

  3、简化了Maven的配置

  4、自动装配Spring

  5、开箱即用,没有代码生成、也不需要XML的配置

  6、是微服务的入门级框架,SpringBoot是SpringCloud的基础  

  7、提供生产就绪功能:如指标、健康检查、外部配置等

三、玩耍环境推荐

  Maven 3.3.9 + JDK1.8 + IDEA (Ultimate)

  有关Maven的配置以及IDEA中配置Maven可以看我的另一篇博客

      http://www.cnblogs.com/zmfx/p/8903871.html

四、创建首个SpringBoot项目

  新建Sring Initalizr项目

  然后点击next,显示为下面这张图片

  这里我就不建什么helloworld、hellospringboot之类的项目了,注意工程名字要全小写,package配置的是包名,可以根据自己的喜爱设置,然后点击next

这里我们选择web工程,然后next

这里是让我们选择自己的工作路径,建议不要包含中文路径,点击finish

下面,我们可以删除一些暂时用不到的文件夹和文件(一共是3个)

注意我使用的springboot版本号为2.0.1.RELEASE,尽量和我一致,不能然后面我所使用的方法你可能用不了。

  

如果这里显示为红色的话,是因为maven还没有把所需要的依赖下载到本地仓库。

pom.xml文件基本上是这样的

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.zmfx</groupId>
<artifactId>dog</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>dog</name>
<description>Demo project for Spring Boot</description> <parent><!--定义了SpringBoot的版本信息-->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties> <dependencies>
<!--对于web的依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
c <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies> <build>
<plugins>
<plugin><!--SpringBoot的基本配置-->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build> </project>

当所有的maven依赖下载完毕的时候,你项目的目录结构样子大体应该是这个样子的

依然是老套路,新建一个HelloController,来和SpringBoot打个招呼吧

package com.zmfx.hello;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController; /**
* 这里的@RestController 相当于@ResponseBody + @Controller
*/
@RestController
public class HelloController {
@RequestMapping(value = "/hello",method = RequestMethod.GET)
public String helloSpringBoot(){
return "Hello SpringBoot!";
}
}

我们点击IDEA的运行按钮,然后在控制台会看到SpringBoot内置的Tomcat访问的默认端口号8080

  

然后在网址中输入 http://127.0.0.1:8080/hello  页面会展示 Hello SpringBoot!

说明我们成功的使用SpringBoot项目和SpringBoot打过招呼了

这里需要说明一下,SpringBoot的启动类 DogApplication

package com.zmfx;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication //用来声明这是启动SpringBoot程序的启动类,必须有
public class DogApplication {
public static void main(String[] args) {
SpringApplication.run(DogApplication.class, args);
}
}

今天就先分享到这里,后面的知识会陆续以博客的方式分享出来。

SpringBoot入门(IDEA篇)(一)的更多相关文章

  1. SpringBoot 入门实战篇

    SpringBoot入门 使用SpringBoot + mysql + Jpa 快速搭建一个spring项目 Spring Boot 2 + Spring Data JPA + MySQL 8 簡單範 ...

  2. ①SpringBoot入门教学篇

    一.什么是spring boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发 ...

  3. SpringBoot入门学习看这一篇就够了

    1.SpringBoot是什么? SpringBoot是一套基于Spring框架的微服务框架. 2.为什么需要SpringBoot 由于Spring是一个轻量级的企业开发框架,主要的功能就是用于整合和 ...

  4. SpringBoot入门教程(二)CentOS部署SpringBoot项目从0到1

    在之前的博文<详解intellij idea搭建SpringBoot>介绍了idea搭建SpringBoot的详细过程, 并在<CentOS安装Tomcat>中介绍了Tomca ...

  5. SpringBoot入门基础

    目录 SpringBoot入门 (一) HelloWorld. 2 一 什么是springboot 1 二 入门实例... 1 SpringBoot入门 (二) 属性文件读取... 16 一 自定义属 ...

  6. 【Java】SpringBoot入门学习及基本使用

    SpringBoot入门及基本使用 SpringBoot的介绍我就不多说了,核心的就是"约定大于配置",接下来直接上干货吧! 本文的实例: github-LPCloud,欢迎sta ...

  7. SpringBoot入门(三)——入口类解析

    本文来自网易云社区 上一篇介绍了起步依赖,这篇我们先来看下SpringBoot项目是如何启动的. 入口类 再次观察工程的Maven配置文件,可以看到工程的默认打包方式是jar格式的. <pack ...

  8. SpringBoot入门(四)——自动配置

    本文来自网易云社区 SpringBoot之所以能够快速构建项目,得益于它的2个新特性,一个是起步依赖前面已经介绍过,另外一个则是自动配置.起步依赖用于降低项目依赖的复杂度,自动配置负责减少人工配置的工 ...

  9. SpringBoot入门(二)——起步依赖

    本文来自网易云社区 在前一篇我们通过简单几步操作就生成了一个可以直接运行的Web程序,这是因为SpringBoot代替我们做了许多工作,概括来讲可以分为起步依赖和自动配置.这一篇先来看看起步依赖. 项 ...

  10. SpringBoot入门系列(转)

    SpringBoot入门系列:第一篇 Hello World http://blog.csdn.net/lxhjh/article/details/51711148

随机推荐

  1. 2018.09.08 NOIP模拟 division(状压dp)

    这么sb的题考场居然写挂了2233. 假设n=∏iaiki" role="presentation" style="position: relative;&qu ...

  2. [笔记]linux命令学习

    scp /root/Downloads/cymothoa-1-beta.tar.gz root@192.168.1.66:/root/ rc.local exit 0前加入: sh /root/abc ...

  3. jupyterlab notebook区别

    https://juejin.im/entry/5b350e52f265da59bd5ed31e Windows 7(Windows 10)安装后anaconda 命令行jupyter lab 出现4 ...

  4. Codeforces805 A. Fake NP 2017-05-05 08:30 327人阅读 评论(0) 收藏

    A. Fake NP time limit per test 1 second memory limit per test 256 megabytes input standard input out ...

  5. Hdu2181 哈密顿绕行世界问题 2017-01-18 14:46 45人阅读 评论(0) 收藏

    哈密顿绕行世界问题 Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Sub ...

  6. hdu3333 Turing Tree 2016-09-18 20:53 42人阅读 评论(0) 收藏

    Turing Tree Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  7. Nonsense Alphabet

    Nonsense Alphabet A was an ant Who seldom stood still, And who made a nice house In the side of a hi ...

  8. Windows 8/8.1 及 Windows Phone 8 应用神器 - APP Producer

    继 App studio 以及  Project Siena 之后 微软再次打造应用生成器 APP Producer,这个版本的应用生成器功能相对比之前两个版本要简单许多,更适合入门并且真正的支持全平 ...

  9. Swagger中显示注释

    Webapi中Swagger中不显示注解的解决方法 1.找见生成项目时候生成的xml文件.查看存放路劲方法: 右键项目-->点击属性-->在属性中选择“生成”就能看见xml文件存放路径: ...

  10. 使用ABP框架踩过的坑系列5

    DDD领域驱动开发,实际是为复杂的业务场景而生的,为了让开发人员专注于业务,而操作系统.数据库.网络之类的技术细节,必须要持久透明化:实际就是数据库系统DBMS的ORM抽象,目标就是业务不需要考虑数据 ...