SpringBoot从入门到精通一(idea优雅搭建SpringBoot项目)
前言
在没有SpringBoot之前,我们搭建的是SSM(SpingMVC+Spring+Mybatis)项目,搭建SSM项目的时候,我们要经过一系列的繁琐配置,例如:application,web.xml,spring-servlet等等的配置信息。如果我们这些配置出现一点点的错误。那么面临的就是寻找一大堆的Bug,而且还出现一些我们看难以看懂的异常,对于English不好的同志来说,这是内伤。那么SpringBoot到底解决了什么问题呢?简单来说,SpringBoot主要简化了我们的配置操作,将那些我们需要配置的东西封装好了,我们拿来即用,它的好处如下
创建独立的Spring应用程序
嵌入的Tomcat,无需部署WAR文件
简化Maven配置
自动配置Spring
提供生产就绪型功能,如指标,健康检查和外部配置
绝对没有代码生成并且对XML也没有配置要求
本章目标
通过使用idea快速搭建SpringBoot项目,对SpringBoot能够有简单的入门
项目搭建
1.新建一个SpringBoot项目,打开开发工具idea,选择Create New Project

2.选择Spring Initializr,点击Next

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

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

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

6.简单的SpringBoot项目结构如下

7.每一个SpringBoot项目都有一个主程序,直接启动,这里我们不需要配置Tomcat,主程序结构如下。

8.我们直接可以运行项目,SpringBoot默认端口是8080端口,后期可以通过配置文件进行修改,在地址栏输入localhost:8080,此时的话什么都没有,别急,我们新建一个控制器,然后添加一些静态数据模拟数据库,在添加控制器之间我们需要添加一些依赖,这个依赖属于web部分,在最开始直接依赖那一部分我们没有选择,所以我们就主动添加依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
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;
}
}
10.现在我们一切准备就绪,点击运行,然后在地址栏输入localhost:8080/index,此时界面表示没有找到,别急,还有特别重要的一步没有写完,我发现许多博主都没有写到,在这里我就将他们的坑填上。

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

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

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

总结
如果你建的控制器文件是在SpringBoot应用程序同级目录,则不需要配置@ComponentScan基础扫描包,如果不指定,则默认Spring框架实现会从声明@ComponentScan所在类的package进行扫描。
SpringBoot从入门到精通一(idea优雅搭建SpringBoot项目)的更多相关文章
- 深入浅出!springboot从入门到精通,实战开发全套教程!
前言 之前一直有粉丝想让我出一套springboot实战开发的教程,我这边总结了很久资料和经验,在最近总算把这套教程的大纲和内容初步总结完毕了,这份教程从springboot的入门到精通全部涵盖在内, ...
- SpringBoot从入门到精通二(SpringBoot整合myBatis的两种方式)
前言 通过上一章的学习,我们已经对SpringBoot有简单的入门,接下来我们深入学习一下SpringBoot,我们知道任何一个网站的数据大多数都是动态的,也就是说数据是从数据库提取出来的,而非静态数 ...
- SpringBoot从入门到精通教程(一)
写在前面的话: 在很早之前,记笔记时候,我就一直在思考一个问题,我记笔记是为了什么,我一直想不明白 ,后面发现技术跟新迭代的速度实在太快了,笔记刚纪完,技术又跟新了,于是我想了想干脆边写博客,边记笔记 ...
- SpringBoot从入门到精通教程(五)
上节,我们讲了 SpringBoot 如何使用MyBatis 今天我们讲讲 Springboot Logo自定义的问题, 我们在启动 SpringBoot 时,控制台会打印 SpringBoot Lo ...
- Spring Boot从入门到精通(一)搭建第一个Spring Boot程序
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过 ...
- springboot从入门到精通(二)
这一节我们一起用springboot开发一个应用程序,应用程序里的核心概念是玩家获取英雄列表上的英雄信息. 1.定义实体模型: 代码如下: package com.dota.herolist.enti ...
- springboot从入门到精通(三)
再开始第三节之前,先补充一下第二节里出现的小问题,就是springboot的application.properties,我在文件中添加了server.port=9090这个参数,但是启动项目后并未生 ...
- springboot从入门到精通(一)
springboot到底有什么好处?有什么优势?这个先不用看,我们只要知道它有很多优势,现在要做的事只有一件,那就是撸代码!撸完就知道有多少料! 首先,在案例中,我们会构建一个英雄列表应用.操作如下: ...
- SpringBoot从入门到精通十一(SpringBoot文件上传的两种方法)
前言 在企业级项目开发过程中,上传文件是最常用到的功能.SpringBoot集成了SpringMVC,当然上传文件的方式跟SpringMVC没有什么出入. 本章目标 使用SpringBoot项目完成单 ...
随机推荐
- Docker 入门基础
Docker是一个能把开发的应用程序自动部署到容器的开源引擎.Docker是新的容器化技术,轻巧,易移植[Build Once, Configure Once And Run Anywhere].Do ...
- Android-apktool反汇编异常-Input file (XXX) was not found or was not readable.
问题描述: 原因: 在apptool 2.0以后命令发生了变化,不能再使用 apktool d <apk_path> <outfile_path> 解决方法:解决方法: 使用命 ...
- listview分页载入问题
方案一: 底部有查看很多其它能够使用HeaderViewListAdapter 假设须要加入数据, 就向Adapter绑定的数据里面加入. 然后调用Adapter.notifyDataSetChang ...
- WPF 实现测量显示文本长度
原文:WPF 实现测量显示文本长度 以工具类的方式实现: using System; using System.Windows; using System.Windows.Media; using S ...
- ASP.NET Core 项目配置 ( Startup ) - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core 项目配置 ( Startup ) - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 项目配置 ( Startup ) 前面几章节 ...
- JQuery采纳CSS实现DOM显示和隐藏要素
今天参加了Code Review活动.阅读编写代码的同事,感到满足当前功能的实现,但是从长远来看,,无论角度还是从代码重用是来看显然不佳维修点. 有什么需要看的权利.通过选择不同的选项下拉框需求,为了 ...
- youwuku和koudaitong以及weimeng差异
优库通过涨势没有口袋,通过口袋里的东西优库有, 就像一个商场的处理这些极端类别似, 所不同的是:1.掌上通免费,但也开始掏腰包通过用户收费,因为一些特殊的.这意味着,天下没有免费的午餐,掌上通是使用完 ...
- Plugin execution not covered by lifecycle configuration
Eclipse 环境 在工作空间 \.metadata\.plugins\org.eclipse.m2e.core\ 目录下 增加 lifecycle-mapping-metadata.xml 文件 ...
- ListView、TreeView和DataGrid。
原文:ListView.TreeView和DataGrid. 1.ListView. ListView继承自简单的没有特色的ListBox,并使用View属性进行扩展.增加了对基于列显示的支持,并增加 ...
- Qt SQLite 批量插入优化(SQLite默认将每条语句看成单独的事务)good
使用SQLite存储数据时发现插入速度太慢,程序跑了将近五分钟才插入了不到三千条.上网查资料才发现,SQLite这种文件数据库与MySql机制不一样,每条事务都有打开和关闭文件的步骤,SQLite默认 ...