怎样用IDEA社区版以及企业版创建spring boot项目?

Spring 的诞生是为了简化 Java 程序的开发的,而  Spring Boot 的诞生是为了简化 Spring 程序开发的 。
Spring Boot 翻译一下就是 Spring 脚手架,什么是脚手架呢?如下图所示:
怎样用IDEA社区版以及企业版创建spring boot项目?_第1张图片
盖房子的这个架子就是脚手架,脚手架的作用是砌筑砖墙,浇筑混凝土、方便墙面抹灰,装饰和粉刷的,简单来说,就是使用脚手架可以更快速的盖房子。
Spring Boot 就是 Spring 框架的脚手架,它就是为了快速开发 Spring 框架而诞生的。
例如,以前铺路是这样的:

怎样用IDEA社区版以及企业版创建spring boot项目?_第2张图片

改造之后的效率是这样的:

怎样用IDEA社区版以及企业版创建spring boot项目?_第3张图片

 或者是这样的:

怎样用IDEA社区版以及企业版创建spring boot项目?_第4张图片

可以看到,每次技术的诞生和改进相比于之前的效率会有一个质的提升,而 Spring Boot 相比于 Spring 也是如此。

一、Spring Boot 优点

  • 快速集成框架,Spring Boot 提供了启动添加依赖的功能,用于秒级集成各种框架。
  • 内置运行容器,无需配置 Tomcat Web 容器,直接运行和部署程序。
  • 快速部署项目,无需外部容器即可启动并运行项目。
  • 可以完全抛弃繁琐的 XML,使用注解和配置的方式进行开发。
  • 支持更多的监控的指标,可以更好的了解项目的运行情况。

二、Spring Boot 项目创建

社区版创建spring项目

IDEA社区版默认没有继承 Spring Initializer 功能,所以我们要采用以下两种方式来创建spring项目

1.手动去 start.spring.io把工程创建好之后下载下来(方法一)

2.手动去社区版安装一个插件(方法二)

方法一

1.我们打开此网页(https://start.spring.io/)

怎样用IDEA社区版以及企业版创建spring boot项目?_第5张图片

2.根据下列图片进行配置

怎样用IDEA社区版以及企业版创建spring boot项目?_第6张图片

3.配置好后进行下载

怎样用IDEA社区版以及企业版创建spring boot项目?_第7张图片

怎样用IDEA社区版以及企业版创建spring boot项目?_第8张图片

4. 下载好后,我们进行解压

怎样用IDEA社区版以及企业版创建spring boot项目?_第9张图片

5.之后我们从IDEA中打开解压好的项目即可

怎样用IDEA社区版以及企业版创建spring boot项目?_第10张图片

怎样用IDEA社区版以及企业版创建spring boot项目?_第11张图片

6.由于我们是第一次,所以下载会有点慢,下载好后我们可以看到pom.xml是已经配置好了的 

怎样用IDEA社区版以及企业版创建spring boot项目?_第12张图片

7.我们设置的类里面有main方法,我们直接启动main方法spring就可以运行 

怎样用IDEA社区版以及企业版创建spring boot项目?_第13张图片

8.里面是天生带着日志的,包含打印时间、日志级别、线程ID、线程名称、是由哪个类打印的、我们都可以看到 

怎样用IDEA社区版以及企业版创建spring boot项目?_第14张图片

方法二

1.进入settings

怎样用IDEA社区版以及企业版创建spring boot项目?_第15张图片

 2.安装Spring Assistant即可 

怎样用IDEA社区版以及企业版创建spring boot项目?_第16张图片

3.现在我们就可以创建一个新的spring项目

怎样用IDEA社区版以及企业版创建spring boot项目?_第17张图片

怎样用IDEA社区版以及企业版创建spring boot项目?_第18张图片

怎样用IDEA社区版以及企业版创建spring boot项目?_第19张图片怎样用IDEA社区版以及企业版创建spring boot项目?_第20张图片

怎样用IDEA社区版以及企业版创建spring boot项目?_第21张图片  10.这一步需要我们选择所要用到的依赖,大家可以根据需要勾选

怎样用IDEA社区版以及企业版创建spring boot项目?_第22张图片

11.最后我们设置好项目名称和路径即可

怎样用IDEA社区版以及企业版创建spring boot项目?_第23张图片

企业版创建spring项目 

1.选择创建 Spring Initializr 项目

怎样用IDEA社区版以及企业版创建spring boot项目?_第24张图片

怎样用IDEA社区版以及企业版创建spring boot项目?_第25张图片

怎样用IDEA社区版以及企业版创建spring boot项目?_第26张图片

 怎样用IDEA社区版以及企业版创建spring boot项目?_第27张图片

 怎样用IDEA社区版以及企业版创建spring boot项目?_第28张图片

三、项目目录介绍和运行

新建的 Spring Boot 项目目录如下:怎样用IDEA社区版以及企业版创建spring boot项目?_第29张图片 

Spring Boot 项目有两个主要的目录:
  1. src/main/java Java 源代码。
  2. src/main/resources 为静态资源或配置文件:

            /static:静态资源文件夹;

            /templates:模版资源文件夹。

3.1 运行项目

怎样用IDEA社区版以及企业版创建spring boot项目?_第30张图片

点击启动类的 main 方法就可以运行 Spring Boot 项目了,启动成功如下图所示: 怎样用IDEA社区版以及企业版创建spring boot项目?_第31张图片 

3.2 输出 Hello world

我们学习 JavaEE 就是用来实现 Web 项目或接口的,而之前是 Spring 其实是一个普通 Java 项目,没办法直接和浏览器进行互动,所以接下来我们要用 Spring Boot 来实现和浏览器及用户的交互。
在创建的项目包路径下创建 UserController 文件,实现代码如下:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/user")
public class UserController {
@RequestMapping("/sayhi")
public String sayHi(){
return "Hi,Spring Boot.";
    }
}
重新启动项目,访问 http://localhost:8080/user/sayhi 最终效果如下: 怎样用IDEA社区版以及企业版创建spring boot项目?_第32张图片

四、注意事项:包路径错误

我们尝试将 controller 移动到其他包下,比如以下几种方式: 怎样用IDEA社区版以及企业版创建spring boot项目?_第33张图片

怎样用IDEA社区版以及企业版创建spring boot项目?_第34张图片

运行我们的项目,发现程序报错了,如下图所示: 怎样用IDEA社区版以及企业版创建spring boot项目?_第35张图片 

 这说明 Spring Boot 项目没有将对象注入到容器中。

5.1 正确路径

当我们把要注入到容器类和启动类放到同级目录下时,如下图所示:

 怎样用IDEA社区版以及企业版创建spring boot项目?_第36张图片

这时候 Spring Boot 项目才能正常的将 bean 注入到容器中。

5.2 小结:约定大于配置

以上情况反应了 Spring Boot 项目的另一个特点: 约定大于配置
对比 Spring 的项目我们也可以看到这一特点,比如在 Spring 中也是要配置 Bean 的扫描路径的,而 Spring Boot 则不需要,Spring 配置如下: 怎样用IDEA社区版以及企业版创建spring boot项目?_第37张图片
总结
  • Spring Boot 是为了快速开发 Spring 而诞生的,Spring Boot 具备:
  • 快速集成框架,Spring Boot 提供了启动添加依赖的功能,用于秒级集成各种框架。
  • 内置运行容器,无需配置 Tomcat Web 容器,直接运行和部署程序。
  • 快速部署项目,无需外部容器即可启动并运行项目。
  • 可以完全抛弃繁琐的 XML,使用注解和配置的方式进行开发。
  • 支持更多的监控的指标,可以更好的了解项目的运行情况等特点。
Spring Boot 可使用 Idea 或网页创建,它的设计思想是约定大于配置,类上标注
@SpringBootApplication 就可以启动 Spring Boot 项目了。

你可能感兴趣的:(框架,intellij-idea,spring,java)