Spring学习之路-SpringBoot简单入门
简单讲SpringBoot是对spring和springMVC的二次封装和整合,新添加了一些注解和功能,不算是一个新框架。
学习来源是官方文档,虽然很详细,但是太墨迹了…
地址:https://docs.spring.io/spring-boot/docs/1.5.8.RELEASE/reference/htmlsingle/#boot-documentation
我是配合maven来学习的,所以首先是pom.xml的配置,根据官方文档如下:
pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.8.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
稍微解释下:
spring-boot-starter-web会自动引入一些web相关的spring框架,包含tomcat、springframework等等
spring-boot-devtools相当于webpack中的热重载,可以快速更新资源并在应用中得到响应。
parent、plugins这两个忘了,反正对我这种菜鸟来说,引入就没错
接下来是启动一个简单的HelloWorld程序,不按照官网的example来了,直接上最终版:
@SpringBootApplication
public class Application{
public static void main(String[] args) {
SpringApplication app = new SpringApplication(Application.class);
app.run(args);
}
}
执行该文件后,会启动一个服务器,默认端口8080,打开后会显示一个默认的error页面,如图所示:

这里的@SpringBootApllication注解用在主入口函数上,是三个注解的合体:@Configuration, @EnableAutoConfiguration and @ComponentScan
因为这三个注解一般都是成套出现,所以SpringBoot把他们合成了一个。
这个只需要关注@ComponentScan注解,这个注解的意思是会对目录下所有的文件进行扫描,功能类似于beans.xml中的:
<context:component-scan base-package="project"/>
是的,在主入口函数用了这个注解,连xml文件都省了。
刚才打开的是一个默认的error页面,可以通过配置Controller来处理request请求:
@RestController
public class web {
@RequestMapping("/")
String Home(){
return "<h1>Home Page!!!</h1>";
}
@RequestMapping("/Jimmy")
String Jimmy(){
return "<h1>Jimmy Page!!!</h1>";
}
}
新建一个java文件,然后代码如上所示,此时打开localhost:8080,会看到:
如果将连接改成localhost:8080/Jimmy,会看到:
也就是说,该类被注解为一个Servlet类,用来处理各种请求。而@RequestMapping注解表明请求路径,里面还可以指明method,这里就不做演示了。
有时候并不希望主页通过这样的方法输出,也可以自定义一个html页面作为首页展示。
SpringBoot默认会自动扫描/static (or /public or /resources or /META-INF/resources路径下的静态资源,然后将其中的index.html作为首页。
当然也可以通过自定义路径来指定静态资源路径,这里就演示下 默认扫描:

目录结构如图,最重要的是建一个文件夹,名称为上面列出来的默认项之一,然后往里面丢一个index.html,重启后打开主页可见:
上面的自定义错误页面比较丑,SpringBoot可以自定义404页面,方式也很简单,在public中新建一个error文件夹,里面放404.html,当出现404错误时,会自动扫描该文件夹下的该页面,如图:


至此,基本的功能都差不多了,官方文档还有很多杂七杂八的,目前也用不上。
后面还有两章讲SpringBoot与Mysql、Nosql的连接使用,因为暂时没有学数据库,所以跳过。
完事。
Spring学习之路-SpringBoot简单入门的更多相关文章
- ECharts.js学习(一) 简单入门
EChart.js 简单入门 最近有一个统计的项目要做,在前端的数据需要用图表的形式展示.网上搜索了一下,发现有几种统计图库. MSChart 这个是Visual Studio里的自带控件,使用比 ...
- Spring学习之路——简单入门HelloWorld
Spring简单介绍 Spring是一个提供了解决J2EE问题的一站式框架. Spring的核心是反转控制,通过配置文件完成业务对象之间的依赖注入,他鼓励一个良好的习惯,就是注入对接口编程而不是对类编 ...
- Spring学习之路-从入门到放弃
后台框架是真难入门啊!!!IDE的使用,环境的搭建,框架下载,上手,每一步都恶心人. 花了整整两天,才学会用idea,并且初步了解了maven(TM就是一个npm),然后跟着下载了对应的jar包,搭建 ...
- springboot 学习之路 17(webflux 入门 (1))
Webflux: webflux是在springboot2系列引入的技术:补充一些概念: 1> Reactive Streams 是 JVM 中面向流的库标准和规范: 处理可能无限数量的元素 按 ...
- Spring学习之路-从放弃到入门
AOP:方法拦截器 IOC:类管理容器 主要讲讲这一天看Spring视频学到的东西,以下的叫法全是自创的. 1.类实例管理容器 关于Spring,首先是对类的管理,在常规情况,生成一个类需要调用new ...
- springboot简单入门笔记
一.Spring Boot 入门 1.Spring Boot 简介 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 2.微服务 2014,m ...
- Spring全家桶系列–SpringBoot之入门JPA
//本文作者:cuifuan 什么是JPA? 一种规范,并非ORM框架,也就是ORM上统一的规范 用了之后可以做什么,为什么要用? 代码解释: 实体类 package com.example.spri ...
- MyBatis学习(一)简单入门程序
MyBatis入门学习 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名 ...
- redis——学习之路五(简单的C#使用redis)
redis官方推荐使用的客户端程序 打星星表示推荐使用的客户端程序,一个笑脸表示最近6个月内有过正式活动的.http://redis.io/clients/#c 从这里我们可以判断官方推荐我们使用Se ...
随机推荐
- 关于CentOS下 yum包下载下的rpm包放置路径
在CentOS下用yum安装,回发现在/var/cache/yum/下的base.extrs和updates下的packages下都没有发现下载的RPM 原来在/etc/yum.conf下没有设置下载 ...
- FNDLOAD使用大全
FNDLOAD使用大全 Syntax FNDLOAD [username/password] 0 Y [mode] [configuration file] [target data file] ...
- 简单理解 OAuth 2.0 及资料收集,IdentityServer4 部分源码解析
简单理解 OAuth 2.0 及资料收集,IdentityServer4 部分源码解析 虽然经常用 OAuth 2.0,但是原理却不曾了解,印象里觉得很简单,请求跳来跳去,今天看完相关介绍,就来捋一捋 ...
- php根据修改时间删除指定目录下文件
//$dir-文件地址,$files-存储返回数组,$type-查找文件类型组 public function read_dir($dir,&$files,$type) { if(!is_di ...
- WPF自定义Window窗体样式
资源文件代码: <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation ...
- nodejs 环境配置技巧
环境:Mac OSX 10.10.3 NodeJS:v0.12.2 NodeJs 安装指需要 1.执行 npm install xxxx -g 时 需要执行 sudo npm install xxxx ...
- [模板]最小割树(Gomory-Hu Tree)(luogu4897)
给定一个\(n\)个点\(m\)条边的无向连通图,多次询问两点之间的最小割 两点间的最小割是这样定义的:原图的每条边有一个割断它的代价,你需要用最小的代价使得这两个点不连通 Input 第一行两个数\ ...
- Android自定义组合控件详细示例 (附完整源码)
在我们平时的Android开发中,有时候原生的控件无法满足我们的需求,或者经常用到几个控件组合在一起来使用.这个时候,我们就可以根据自己的需求创建自定义的控件了,一般通过继承View或其子类来实现. ...
- VNC黑屏解决办法
在Linux里安装配置完VNC服务端,发现多用户登陆会出现黑屏的情况,具体的现象为:客户端可以通过IP与会话号登陆进入系统,但登陆进去是漆黑一片,除了一个叉形的鼠标以外,伸手不见五指. 原因:用户的V ...
- Git 本地操作
版权声明:数学是研究世界的本质,自然科学是研究上帝的意志,而计算机则是揣摩屌丝人类的意志 目录(?)[-] 命令 git config 增删改查 init clone add commit sta ...