热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SpringBoot学习笔记(一)——SpringBoot概要与快速入门

一、SpringBoot概要没有SpringBoot开发项目时各框架间的集成(如SSM)非常繁琐,兼容性问题处理麻烦,开发效率低。1.1、SpringBoot简介使用SpringB

一、Spring Boot概要

没有Spring Boot开发项目时各框架间的集成(如SSM)非常繁琐,兼容性问题处理麻烦,开发效率低。


1.1、Spring Boot 简介

使用 Spring Boot 可以很容易地创建出能直接运行的独立的、生产级别的基于 Spring 的应用。我们对 Spring 平台和第三方类库有自己的考虑,因此您可以从最基本的开始。大多数 Spring Boot 应用只需要很少的 Spring 配置。

您可以使用 Spring Boot 来创建一个可以使用 java -jar 命令来运行或者基于传统的 war 包部署的应用程序。我们还提供了一个用于运行 spring scripts 的命令行工具。

我们的主要目标是:



  • 为所有 Spring Boot 开发提供一个更快、更全面的入门体验。

  • 坚持自我虽好,但当需求出现偏离,您需要能迅速摆脱出来。

  • 提供大量非功能性特性相关项目(例如:内嵌服务器、安全、指标、健康检查、外部配置)。

  • 绝对没有代码生成,也不要求 XML 配置。

SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率,一定程度上缩短了项目周期。2014 年 4 月,Spring Boot 1.0.0 发布。Spring的顶级项目之一(https://spring.io)。


1.2、Spring Boot特性

Spring Boot包含以下几个特性:

(1)、默认提供了大部分框架的使用方式,方便进行快速集

(2)、Spring Boot应用可以独立运行,符合微服务的开发理念

(3)、Spring Boot内置WEB容器,无需部署WAR包即可运行

(4)、提供了各种生产就绪型功能,如指标,健康检查和外部配置

(5)、Spring Boot通过网站提供了项目模板,方便项目的初始化

Spring Boot 兼容 Apache Maven 3.2 或更高版本。如果您还没有安装 Maven,可以到 maven.apache.org

您可以跟使用任何标准 Java 库的方式一样使用 Spring Boot。只需要在 classpath 下包含相应的 spring-boot-*.jar 文件即可。Spring Boot 不需要任何专用的工具来集成,因此您可以使用任何 IDE 或者文本编辑器,并且 Spring Boot 应用也没什么特殊之处,因此可以像任何其它 Java 程序一样运行和调试。

虽然您可以复制 Spring Boot 的 jar 文件,但我们通常建议您使用支持依赖管理的构建工具(比如 Maven 或者 Gradle)。

您可以将 Spring Boot 应用部署到任何一个 Servlet 3.0+ 兼容容器中。

虽然您可以在 Java 6 或者 Java 7 上使用 Spring Boot,但我们还是强烈推荐您使用 Java 8+。


1.3、Spring Boot资源

官网:
https://spring.io/projects/spring-boot

https://spring.io

官方文档:

https://docs.spring.io/spring-boot/docs/current/reference/html/

官方文档翻译:
https://www.springcloud.cc/spring-boot.html

http://felord.cn/_doc/_springboot/2.1.5.RELEASE/_book/

https://github.com/DocsHome/springboot

banner生成:

https://www.bootschool.net/ascii


1.4、前置学习内容

视频bilibili:

(1)、Java编程(JavaSE、JavaWeb、反射、泛型、多线程、AJAX)

(2)、Maven快速学习教程

(3)、Spring

(4)、Spring MVC(IDEA、Maven、SSM框架集成、多模块)

(5)、MyBatis快速学习教程

博客园文章:

(1)、Spring

(2)、Spring MVC

(3)、MyBatis

(4)、Maven


1.5、其它说明

(1)、本教程有许多内容来自互联网,如果侵害了您的版权我将迅速处理

(2)、本教程仅针对有一定基础的Java学习或开发者,听课的对象是全栈开发班的学员,仅需使用Spring Boot开发可以提供给前端的后台服务即可,如果您想精通Spring Boot可能不适合您

(3)、教学全程都会录视频,发布在bilibili,请搜索“张果1”

(4)、该教程使用Spring Boot2

(5)、开发工具使用IDEA,Java版本是1.8


二、我的第一个SpringBoot程序

 2.1、生成项目模板


2.1.1、在线生成项目模板

为方便我们初始化项目,Spring Boot给我们提供一个项目模板生成网站。

(1). 打开浏览器,访问:https://start.spring.io/

(2). 根据页面提示,选择构建工具,开发语言,项目信息等。

(3). 点击 Generate the project,生成项目模板,生成之后会将压缩包下载到本地。

当然,也可以在线预览项目生成后的代码,只需点击如下按钮即可:

 在新窗口中就可以查看生成的代码了:

(4). 使用IDE导入项目,我这里使用IDEA,通过导入Maven项目的方式导入。

 

选择Maven项目:

 多数情况下都直接Next就可以了,导入成功的项目如下所示:


2.1.2、IDE(集成开发工具)生成项目模板

(1)、创建新项目

 (2)、选择Spring Initializr

  (3)、选择填写项目信息

 (4)、添加依赖

 (5)项目位置与名称设定

 点击完成就创建成功。


2.2、添加控制器

 在“com.gdnf.hello”这个包下面添加一个类取名“HelloController”:

 添加一个Action,并注解好:

package com.gdnf.hello;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController //注解告诉Spring将结果字符串直接呈现给调用者
public class HelloController {
@RequestMapping("/hi") //路径映射
public String hello(){
return "Hello Spring Boot!";
}
}

添加成功后:


2.3、启动并运行

点击右上角绿色箭头就可以直接运行了,如要端口被占用(默认8080),可以配置修改,控制台信息如下:

 在浏览器中输入:localhost:8081/hi就可以访问到定义到的action,如下所示

 


三、SpringBoot项目组成

3.1、默认目录结构

刚创建好的Spring Boot的项目结构比较简单,只包含三个文件夹。

src/main/java 放置程序开发代码

src/main/resources 放置配置文件

src/test/java 放置测试程序代码

而在其下,包含以下主要文件。

xxxApplication.java 应用的启动类,包含MAIN方法,是程序的入口

application.properties 一个空的配置文件,后续可以配置数据源等信息,比如修改端口号

xxxApplicationTests.java 一个简单的单元测试类

pom.xml mave的配置文件,是管理整个项目开发流程的核心文件


3.2、注解与代码


3.2.1、@RestController和@RequestMapping 注解

Example类的第一个注解是@RestController。这被称为 构造型注释。它为阅读代码的人提供了提示,并为Spring提供了该类扮演特定角色的提示。在这种情况下,我们的类是一个web @Controller,所以Spring在处理传入的Web请求时会考虑它。

@RequestMapping注解提供“路由”信息。它告诉Spring任何带有/路径的HTTP请求都应该映射到home方法。

@RestController注解告诉Spring将结果字符串直接呈现给调用者。

@RestController的作用等同于@Controller + @ResponseBody


3.2.2、@EnableAutoConfiguration注解

第二个类级别注释是@EnableAutoConfiguration。这个注释告诉Spring Boot根据你添加的jar依赖关系“猜测”你想要如何配置Spring。由于spring-boot-starter-web添加了Tomcat和Spring MVC,因此自动配置假定您正在开发Web应用程序并相应地设置Spring。

Starters和自动配置

自动配置旨在与“Starters”配合使用,但这两个概念并不直接相关。您可以自由选择并在首发之外选择jar依赖项。Spring Boot仍然尽力自动配置您的应用程序。


3.2.3、main方法

我们的应用程序的最后一部分是main方法。这只是遵循应用程序入口点的Java约定的标准方法。我们的主要方法是通过调用run来委托Spring Boot的SpringApplication类。SpringApplication引导我们的应用程序,从Spring开始,然后启动自动配置的Tomcat Web服务器。我们需要将Example.class作为参数传递给run方法,以告诉SpringApplication哪个是主要的Spring组件。还会传递args数组以公开任何命令行参数。


四、项目实战(见任务指导手册)

4.1、完成小米商城后台管理系统,实现功能如下:



  • 后台登录

  • 修改密码

  • 用户管理(CRUD)

  • 管理员管理(CRUD)

  • 商品类型管理(CRUD)

  • 商品管理(CRUD)

  • 订单管理(CRUD)

4.2、完成小米商城PC端动态化,所有数据来自数据库,消费后端向前端提供的服务



  • 商品展示

  • 登录

  • 添加商品到购物车

  • 购买

  • 订单管理

4.3、完成小米商城移动端动态化,所有数据来自数据库,消费后端向前端提供的服务



  • 商品展示

  • 登录

  • 添加商品到购物车

  • 购买

  • 订单管理


五、作业

5.1、配置好Spring Boot开发环境。

5.2、完成第一个Spring Boot程序,要求如下:



  • 编写后台服务接收前端提交的参数,n1,n2

  • 前端使用vue与axios消费后台提供的服务,将响应回前台的数据填写在文档框n3中

5.3、创建小米商城的数据库,参考表结构如下:

1、商品类型表
编号,名称,状态,父节点...

2、商品表
编号,名称,价格,详细,海报,库存,状态,上货日期...

3、用户表
编号,用户名,姓名,密码,手机,邮箱,在线状态...

4、订单表
编号,订单号,下单日期,订单状态,用户编号,总价,地址/地址编号,留言

5、订单商品表
编号,订单号,商品编号,价格

6、收货地址表
编号,用户编号,国家,省,市,县(区),街道/乡镇,地址,邮编,电话,收货人,是否为默认地址...

5.4、请按顺序看完下面的视频,调试示例



  • (2)、Maven快速学习教程

  • (3)、Spring

  • (4)、Spring MVC(IDEA、Maven、SSM框架集成、多模块)

  • (5)、MyBatis快速学习教程

 



推荐阅读
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
  • Java如何导入和导出Excel文件的方法和步骤详解
    本文详细介绍了在SpringBoot中使用Java导入和导出Excel文件的方法和步骤,包括添加操作Excel的依赖、自定义注解等。文章还提供了示例代码,并将代码上传至GitHub供访问。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • Jboss的EJB部署描述符standardjaws.xml配置步骤详解
    本文详细介绍了Jboss的EJB部署描述符standardjaws.xml的配置步骤,包括映射CMP实体EJB、数据源连接池的获取以及数据库配置等内容。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
  • 大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记
    本文介绍了大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记,包括outputFormat接口实现类、自定义outputFormat步骤和案例。案例中将包含nty的日志输出到nty.log文件,其他日志输出到other.log文件。同时提供了一些相关网址供参考。 ... [详细]
  • 本文介绍了在sqoop1.4.*版本中,如何实现自定义分隔符的方法及步骤。通过修改sqoop生成的java文件,并重新编译,可以满足实际开发中对分隔符的需求。具体步骤包括修改java文件中的一行代码,重新编译所需的hadoop包等。详细步骤和编译方法在本文中都有详细说明。 ... [详细]
  • Spring框架《一》简介
    Spring框架《一》1.Spring概述1.1简介1.2Spring模板二、IOC容器和Bean1.IOC和DI简介2.三种通过类型获取bean3.给bean的属性赋值3.1依赖 ... [详细]
author-avatar
廖赞胜
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有