Spring全家桶之spring boot(一)
spring boot框架抛弃了繁琐的xml配置过程,采用大量的默认配置简化我们的开发过程。使用spring boot之后就不用像以前使用ssm的时候添加那么多配置文件了,spring boot除了支持ssm之外,还支持非常多的第三方技术。spring boot就像是一个百宝箱,你要用那些技术,直接告诉他就行了。在spring boot中写的代码跟以前一样,所以在学习的时候非常容易上手。下面开始介绍spring boot核心内容以及目录结构:
如何使用IDEA创建spring boot项目?
1、新建完一个Empty Project之后创建一个模块

2、选择Spring Initializr然后选择本地的JDK,之后Next进入下一步

3、设置group和artifact,这里选择jar包,spring boot有内置的tomcat所以不需要打成war包,在Maven项目中一般选择打war包(根据项目需求选择)。

4、选择web勾选Spring Web Starter和Spring Web Service,创建完项目之后spring boot会在pom.xml中自动添加勾选的相关依赖。然后点击Finish之后一个基础的spring boot项目就创建完毕了。

5、在第三步创建的包下再创建一个controller包,在controller包下创建FirstController类,代码如下:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; @Controller
public class FirstController {
@RequestMapping("/boot/first")
@ResponseBody
public String first(){
return "first";
}
}
6、写完controller代码之后进入Application类包,启动SpringApplication.run

7、启动主函数检查未报错之后,spring boot的第一个项目就已经写完;之后运行Application类,这样Spring Boot会启动内嵌的tomcat,之后我们从浏览器中访问该Controller即可:localhost:8080/boot/first
spring boot相关类和文件分析
Application类
- @SpringBootApplication注解是springboot的核心注解,主要作用是开启spring自动配置。使用这个注解相当于加上了下面三个注解:
- @Configuration 允许将其他@bean注解标识的类加入到spring容器中,相当于spring配置文件中的beans标签
- @EnableAutoConfiguration 启动自动配置
- @ComponentScan 会自动扫描当前包和子包下的标有@Component,@Service,@Repository,@Controller的类。相当于以前spring配置文件中的context:component-scan标签
- main方法中的SpringApplication.run在启动的时候会启动springboot程序,启动spring容器,启动内嵌的tomcat容器。
- 不要创建一个比Application类包级别高的类,需要创建子包,因为spring boot会自动扫描application类的子包或者是平级的类,如果是高与application的话就无法扫描了。例如FirstApplication类包位于com.monkey.first包下,Test类和controller包下的所有类Application类包都可以扫描到,但是 Test1这个类比Application类高一级所以就无法扫描到Test1。

resources目录及各种文件
- application.properties 是spring boot配置文件
- static存放静态资源
- templates spring boot动态的数据不建议使用jsp(spring boot可以通过修改配置文件之后使用jsp),而是使用thymeleaf模板语言,跟velocity和freemarker类似,是一个模板引擎。是独立于spring boot的,并不是spring boot的一部分。
.gitignore
git忽略提交规则
mvnw
是linux的脚本文件,mvnw 是maven wrapper,maven中的插件具有滞后性,即有的插件只针对某个版本有效,这里在用的时候,可能会安装多个版本的maven,为了解决这个问题,maven wrapper会自动的切换。
mvnw.cmd
是windows的脚本文件,作用同上
pom.xml文件解析
依赖没有版本号,是从父工程中选择继承的(应该是父工程的父工程,爷爷辈)。这个依赖叫做起步依赖,这些第三方的依赖是写在了dependencymanagement中,所以我们的项目如果要使用的话,还需要些依赖,只不过版本号是可以省略的。如果不想使用spring boot的默认版本的话,自己手动添加版本号即可。
spring boot应用总结:spring boot就相当于一个平台,把我们需要一些东西准备好了,我们在这个平台里面填充业务代码即可,即代码跟以前代码区别不大。
1、能够快速创建基于Spring的应用程序;
2、能够直接使用java main方法启动内嵌的Tomcat服务器运行Spring boot程序,不需要部署war包文件;
3、提供约定的starter POM来简化Maven配置,让Maven的配置变得简单;
4、根据项目的Maven依赖配置,Spring boot自动配置Spring、Spring mvc等;
5、提供了程序的健康检查等功能;
6、基本可以完全不使用XML配置文件,采用注解配置。
补充:spring boot热部署
热部署是指当我们修改代码后,服务能自动加载新修改的内容,这样大大提高了我们开发的效率,否则每次都要手动重启,这样就比较耗时。Spring boot热部署通过添加一个插件实现,在pom中添加下面依赖:
<!-- springboot 开发自动热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
加入热部署插件之后,需要手动build一下才可以生效。该插件有时候会失效,此时手动重启即可。
Spring全家桶之spring boot(一)的更多相关文章
- Spring全家桶之spring boot(三)
spring boot集成mybatis 众所周知,spring与springmvc可以无缝集成,而mybatis不是spring旗下的框架,因此需要进行配置,当然,这里的配置也是非常简单的. 1.首 ...
- Spring全家桶之spring boot(二)
spring boot的两种配置文件: 虽然spring boot可以帮助我们进行一些配置项,但是有些内容还是需要开发者自己进行配置,因此spring boot提供了配置文件以供开发者配置.sprin ...
- Spring全家桶之spring boot(五)
Thymeleaf简介 Thymeleaf是一个流行的模板引擎,该模板引擎采用Java语言开发,模板引擎是一个技术名词,是跨领域跨平台的概念,在Java语言体系下有模板引擎,在C#.PHP语言体系下也 ...
- Spring全家桶之spring boot(四)
spring boot拦截器.过滤器.servlet和健康检查机制 spring boot拦截器 spring boot配置拦截器与原来大致相同,只是需要在拦截器的配置类上添加@Configurat ...
- 10分钟详解Spring全家桶7大知识点
Spring框架自2002年诞生以来一直备受开发者青睐,它包括SpringMVC.SpringBoot.Spring Cloud.Spring Cloud Dataflow等解决方案.有人亲切的称之为 ...
- Spring全家桶–SpringBoot Rest API
Spring Boot通过提供开箱即用的默认依赖或者转换来补充Spring REST支持.在Spring Boot中编写RESTful服务与SpringMVC没有什么不同.总而言之,基于Spring ...
- Spring全家桶系列–SpringBoot之AOP详解
//本文作者:cuifuan //本文将收录到菜单栏:<Spring全家桶>专栏中 面向方面编程(AOP)通过提供另一种思考程序结构的方式来补充面向对象编程(OOP). OOP中模块化的关 ...
- Spring全家桶系列–SpringBoot渐入佳境
//本文作者:cuifuan //本文将收录到菜单栏:<Spring全家桶>专栏中 首发地址:https://www.javazhiyin.com/20913.html 萌新:小哥,我在实 ...
- Spring全家桶系列–[SpringBoot入门到跑路]
//本文作者:cuifuan Spring全家桶————[SpringBoot入门到跑路] 对于之前的Spring框架的使用,各种配置文件XML.properties一旦出错之后错误难寻,这也是为什么 ...
随机推荐
- Redis 5.0.9 安装
目录 系统环境 系统版本 内核版本 安装步骤 安装 gcc 依赖 下载 Redis 解压 Redis 切换到 redis 解压目录下,执行编译 指定目录安装 启动 Redis 服务 最后 系统环境 系 ...
- Flutter 步骤进度组件
老孟导读:最近文章更新拖后腿了,一直忙着网站改版的事情,今天总算落地了,全新的Flutter网站即将上线,敬请期待.网站目前收集197个组件的详细用法,还有150多个组件待整理. Stepper S ...
- linux下五种查找命令
我们经常需要在系统中查找一个文件或者命令,那么在Linux系统中如何快速定位和精确查找它呢?下面总结了五个基础命令·分别是which.whereis.type.locate.find. 一 whi ...
- Java 多线程 -- lambda 表达式推导
jdk 8 开始 java 引入了lambda 表达式. lambda适用场景: 1.接口或父类 2.接口或父类只有一个方法 我们从多线程写法来推导一下: 1.外部类写法: package com.x ...
- JasperReports入门教程(二):中文打印
JasperReports入门教程(二):中文打印 背景 在上一篇中我们介绍了JasperReport的基本入门,也展示了一个报表.但是我们的示例都是使用的英文,如果我们把需要打印的数据改为中文会怎么 ...
- 数据结构(C语言版)---排序
1.排序:重排表中元素. 2.根据数据元素是否完全在内存中,将排序算法分为内部排序和外部排序两类. 3.插入排序:将一个待排序记录按关键字大小插入到前面已排好的子序列中,直到全部记录插入完成. 1)直 ...
- http请求返回的数字代表的含义
一些常见的状态码为: 200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务器超时 下面提供 HTTP 状态码的完整列表.点击链接可了解详情.您也可以访问 HTTP 状态码上的 ...
- zoj_2511 Design T-Shirt 贪心
Design T-Shirt Time Limit: 2 Seconds Memory Limit: 32768 KB Soon after he decided to design a T ...
- Java Web:jstl处理字符串
用法:${fn:methodName(args....)} 在使用这些函数之前必须在JSP中引入标准函数的声明<%@ taglib prefix="fn" uri=" ...
- Get on the CORBA
from: <The Common Object Request Broker: Architecture and Specification> Client To make a requ ...