SpringBoot从入门到精通一(使用idea搭建SpringBoot项目)

一,为什么要使用SpringBoot

1.1,在没有SpringBoot之前,我们搭建的是SSM项目,在搭建SSM项目的时候,我们要经过一系列的繁琐配置,例如:application,web.xml,spring-servlet等等。一旦我们这些配置出错。那么面临的就是寻找一大堆Bug,而且还报一些我们看不懂异常,对于英文不好的园友来说,这是一大硬伤。那么SpringBoot到底解决了什么问题呢?

1.2,简单来说,SpringBoot主要简化了我们的配置操作,将那些我们需要配置的东西封装好了,我们拿来即用,它的好处如下

  • 创建独立的Spring应用程序
  • 嵌入的Tomcat,无需部署WAR文件
  • 简化Maven配置
  • 自动配置Spring
  • 提供生产就绪型功能,如指标,健康检查和外部配置
  • 绝对没有代码生成并且对XML也没有配置要求

二,使用idea快速搭建SpringBoot项目

2.1,新建一个SpringBoot项目,打开开发工具idea,选择Create New Project

2.2,选择Spring Initializr,点击Next

2.3,这里有些关于maven的知识,由于博主暂时没有写关于Maven的博客,希望各位能够谅解,博主在今后的时间会补上。点击next

 2.4,这一部分的界面有许多依赖,当我们后期的开发中需要用到的时候可以选择,现在的话我们就什么都不选,直接点击Next

 

2.5,直接点击finish,一个简单的SpringBoot项目就完成了

2.6,简单的SpringBoot项目结构如下

 

2.7,每一个SpringBoot项目都有一个主程序,直接启动,这里我们暂时不需要配置Tomcat,后期的话我们可能会引入tomcat,主程序结构如下

2.8,我们直接可以运行项目,SpringBoot默认端口是8080端口,后期可以通过配置文件进行修改,在地址栏输入localhost:8080,此时的话什么都没有,别急,我们新建一个控制器,然后添加一些静态数据模拟数据库,在添加控制器之间我们需要添加一些依赖,这个依赖属于web部分,在最开始直接依赖那一部分我们没有选择,所以我们就主动添加依赖。

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

2.9,目录结构和控制器代码如下

 

package com.ssm.controller;

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

import java.util.HashMap;
import java.util.Map;

@RestController
public class IndexController {
    @RequestMapping("/index")
    public Map index(){
        Map map=new HashMap();
        map.put("name","一只流浪的KK"); map.put("type","公猿"); map.put("sex","male"); return map; } }

2.10,现在我们一切准备就绪,点击运行,然后在地址栏输入localhost:8080/index,此时界面表示没有找到,别急,还有特别重要的一步没有写完,我发现许多博主都没有写到,在这里我就将他们的坑填上。

2.11,各位是否还记得我们直接所说的每一个SpringBoot项目都有一个主程序入口,现在我们就去主程序入口配置一下。我们新增一个注解,后期的博客我们将会详细讲解每一个注解的作用。在这里就不一一介绍了。

2.12,此时,我们在重新启动项目,然后在地址栏输入localhost:8080/index,如果出现如下结果,那么恭喜各位已经成功完成了第一个SpringBoot项目。此时我们看到已经可以显示数据了。

2.13,在这里我补充一下,@RestController和@Controller区别,区别一:@RestController是@Controller和@ResponseBody的结合,当在一个控制器里标注了@RestController的时候,那么整个控制器的返回值都是json,而无法返回视图,如果需要返回视图可以使用@Controller,区别二:当使用@Controller的时候,我们一般返回视图,如果需要返回json,那么请在需要返回json的方法上方标注@ResponseBody,就可以返回json了。

2.14,博主第一次写博客,写得不是很好,我也希望大家指正我的错误,让我从中得到提升,也希望大家可以和我多多交流。

 三,补充

3.1,如果你建的控制器文件是在SpringBoot应用程序同级目录,则不需要配置@ComponentScan基础扫描包,如果不指定,则默认Spring框架实现会从声明@ComponentScan所在类的package进行扫描。如下,我们在主程序的同级目录下,建立一个TestController控制器

3.2,新建TestController文件,代码如下

View Code

3.3,测试运行,成功

猜你喜欢

转载自www.cnblogs.com/jjgw/p/10509108.html