简单讲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简单入门的更多相关文章

  1. ECharts.js学习(一) 简单入门

    EChart.js 简单入门 最近有一个统计的项目要做,在前端的数据需要用图表的形式展示.网上搜索了一下,发现有几种统计图库. MSChart   这个是Visual Studio里的自带控件,使用比 ...

  2. Spring学习之路——简单入门HelloWorld

    Spring简单介绍 Spring是一个提供了解决J2EE问题的一站式框架. Spring的核心是反转控制,通过配置文件完成业务对象之间的依赖注入,他鼓励一个良好的习惯,就是注入对接口编程而不是对类编 ...

  3. Spring学习之路-从入门到放弃

    后台框架是真难入门啊!!!IDE的使用,环境的搭建,框架下载,上手,每一步都恶心人. 花了整整两天,才学会用idea,并且初步了解了maven(TM就是一个npm),然后跟着下载了对应的jar包,搭建 ...

  4. springboot 学习之路 17(webflux 入门 (1))

    Webflux: webflux是在springboot2系列引入的技术:补充一些概念: 1> Reactive Streams 是 JVM 中面向流的库标准和规范: 处理可能无限数量的元素 按 ...

  5. Spring学习之路-从放弃到入门

    AOP:方法拦截器 IOC:类管理容器 主要讲讲这一天看Spring视频学到的东西,以下的叫法全是自创的. 1.类实例管理容器 关于Spring,首先是对类的管理,在常规情况,生成一个类需要调用new ...

  6. springboot简单入门笔记

    一.Spring Boot 入门 1.Spring Boot 简介 简化Spring应用开发的一个框架: 整个Spring技术栈的一个大整合: J2EE开发的一站式解决方案: 2.微服务 2014,m ...

  7. Spring全家桶系列–SpringBoot之入门JPA

    //本文作者:cuifuan 什么是JPA? 一种规范,并非ORM框架,也就是ORM上统一的规范 用了之后可以做什么,为什么要用? 代码解释: 实体类 package com.example.spri ...

  8. MyBatis学习(一)简单入门程序

    MyBatis入门学习 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名 ...

  9. redis——学习之路五(简单的C#使用redis)

    redis官方推荐使用的客户端程序 打星星表示推荐使用的客户端程序,一个笑脸表示最近6个月内有过正式活动的.http://redis.io/clients/#c 从这里我们可以判断官方推荐我们使用Se ...

随机推荐

  1. 实验6 LCD接口

    1.利用单片机控制LCD1602,在LCD1602上显示字符串,并使其整屏左移. #include<reg51.h> #define uchar unsigned char #define ...

  2. C#把汉字转换成16进制(HEX)并向串口发送数据

    报警器实例:(有发送,无返回获取) using System; using System.Collections.Generic; using System.Linq; using System.Te ...

  3. 《PHP, MySQL, Javascript和CSS》读书随手记----php篇

    1. 基础 注释: // 或 /* */ $标示变量 语句末尾加分号 数组: $oxo = array(array('x','','o'), array('p','x',''),array('','x ...

  4. WCF接口实例介绍

    Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台. WCF整合了原有的windows通讯 ...

  5. Shell - 简明Shell入门09 - 重定向(Redirection)

    示例脚本及注释 #!/bin/bash pwd > 1.log # 输出重定向到指定文件 date 1> 1.log # ">"与"1>" ...

  6. centos7搭建mysql5.7主从同步

    主从基本概念 mysql主从同步定义 主从同步使得数据可以从一个数据库服务器复制到其他服务器上,在复制数据时,一个服务器充当主服务器(master),其余的服务器充当从服务器(slave).因为复制是 ...

  7. python粘包分析与解决

    TCP与UDP协议 TCP(transport control protocol,传输控制协议)是面向连接的,面向流的,提供高可靠性服务.收发两端(客户端和服务器端)都要有一一成对的socket,因此 ...

  8. python垃圾回收

    python垃圾回收 python垃圾回收主要使用引用计数来跟踪和回收垃圾.在引用计数的基础上,通过“标记—清除”解决容器对象可能产生的循环引用问题,通过“分代回收”以空间换时间的方法提高垃圾回收效率 ...

  9. Python爬虫实战四之抓取淘宝MM照片

    原文:Python爬虫实战四之抓取淘宝MM照片其实还有好多,大家可以看 Python爬虫学习系列教程 福利啊福利,本次为大家带来的项目是抓取淘宝MM照片并保存起来,大家有没有很激动呢? 本篇目标 1. ...

  10. JVM Scan

    1.jmap -histo pid|head -100 2.jstat -gcutil pid cycle 3.jmap -heap pid