SpringBoot框架基础知识(1)

简介: SpringBoot框架基础知识

1. SpringBoot框架


SpringBoot框架可以简单的理解为是一个“增强版的SpringMVC框架,极大程度的简化了各种配置,默认就已经集成了绝大部分常用的依赖”。


2. 创建SpringBoot项目的方式


创建SpringBoot的方式主要有3种:


基于SpringBoot的父级项目来创建子级项目;

使用开发工具的创建向导进行创建,如果使用的是Eclipse,需要安装Spring Tools Suite插件,如果使用的是Intellijia IDEA则不需要安装任何插件,可以直接创建;

通过https://start.spring.io网站创建项目,然后在开发工具中导入项目。


3. 创建SpringBoot项目


打开https://start.spring.io网站,确定以下参数:


【Project】:Maven Project

【Language】:Java

【SpringBoot】:2.1.14

【Group】:cn.tedu

【Artifact】:sample

【Name】:sample

【Package Name】:cn.tedu.sample

【Packaging】:war

【Java】:8

【Dependencies】:无

确定无误后,点击页面中的 Generate 按钮,将会开始自动下载,将得到sample.zip压缩包。


解压sample.zip将得到sample文件夹,这个文件夹就是创建好的SpringBoot项目,推荐将该文件放到Workspace中,便于统一管理。


在Eclipse中,通过Import > Existing Maven Projects导入项目,如果是第1次使用SpringBoot项目,可能本地仓库中没有相关的jar包,所以,会下载大量的依赖的jar包,在这个过程中,必须保证网络畅通,能够顺利的连接到Maven服务器,如果没有开始自动下载,可以对项目点击右键,选择Maven > Update Project以更新项目,甚至强制更新项目。


注意:根据开发工具安装插件的不同,项目结构中可能有一些额外的分支,或图标不同,并不影响正常开发和运行。


注意:如果使用较低的Eclipse,可能内置的是较低版本的Maven环境,在创建完SpringBoot项目后,pom.xml文件可能报错,但是,可以无视,并不影响开发和运行。


4. 启动SpringBoot项目


在生成好的项目中,默认,在src/main/java下就存在cn.tedu.sample包,这个包的名字是由创建项目时填写的Group和Artifact决定的,同时,这是当前SpringBoot项目默认已经配置的组件扫描的包,所以,后续自行创建的组件类必须放在这个包或其子孙包中!


【小结】默认就存在的包,不能随便修改名称,且推荐将所有类都放在这个包或其子孙包中。


在cn.tedu.sample包下,默认就存在SampleApplication类,这个类的名称是根据创建项目时填写的Artifact决定的,这个类中有main()方法,运行该方法,就会启动整个项目!所以,SampleApplication也称之为当前项目的启动类!


SpringBoot项目是内置Tomcat的,当启动项目时,就会将项目编译、打包,并部署到内置的Tomcat中,再启动这个Tomcat!


由于内置的Tomcat默认也是占用8080端口的,所以,在启动项目之前,必须将已经运行的Tomcat停止,也不可以反复启动项目!


另外,在src/test/java下也有cn.tedu.sample包,且包中已经有SampleApplicationTests测试类,类中有contextLoads()方法,该方法的方法体中并没有任何代码,通过单元测试执行该方法应该能通过测试。


在SpringBoot中执行单元测试时,会加载项目的所有环境(读取配置、加载Spring容器等),要求所有的单元测试类必须放在cn.tedu.sample包或其子孙包中,并且,测试类的声明之前必须添加和SampleApplicationTests类相同的注解!


使用SpringBoot 2.1.x系列版本时,单元测试类之前需要添加2个注解,使用SpringBoot 2.2.x系列版本时,只需要添加1个注解!无论使用哪个版本,参考默认即存在的单元测试类来配置注解即可!


5. 在项目中添加静态资源


静态资源:网页文件(.html文件)、图片文件、.css文件、.js文件等,放在服务器端,可以被客户端直接请求的文件。


在SpringBoot项目中,在src/main/resources下,默认就存在static文件夹,是专门用于存放静态资源的文件夹!


其实,静态资源也可以放到项目的webapp文件夹下,SpringBoot推荐将静态资源放在static下。

可以在static下创建index.html文件,文件内容可以随意设计。


然后,启动项目,打开浏览器,输入网址http://localhost:8080即可看到自行设计的网页。


在启动项目时,控制台中有如下日志:


Tomcat started on port(s): 8080 (http) with context path ''

1

可以看到,内部的Tomcat在部署当前项目时,设置的context path值是空字符串,所以,在访问项目的URL中,不需要添加项目名称!


由于此次尝试访问的资源是index.html,是默认的资源名,所以,在URL中也不必显式的添加资源名!


在SpringBoot项目中,在src/main/resources下,默认就存在application.properties文件,这个文件就是项目的配置文件。


可以在配置文件中修改Tomcat占用的端口,需要添加以下配置:


server.port=80


由于80端口是HTTP协议的默认端口,当修改为80端口后,重新启动项目(先停止,再启动),在浏览器通过http://localhost即可访问到此前的网页!


注意:如果使用的是Linux系列操作系统,或Mac OS等Unix衍生操作系统,这些操作系统对端口号的使用管理相对严格,默认情况下,不允许将端口号修改为80,除非另行在操作系统中进行设置,开放80端口的修改权限。


6. 使用控制器接收客户端的请求


在src/main/java的cn.tedu.sample包下创建子级的controller包,并在这个子包中创建HelloController控制器类,设计请求并处理:


package cn.tedu.sample.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloController {
  @RequestMapping("hello")
    @ResponseBody
  public String hello() {
  return "SpringBoot真好用!!!";
  }
}

重启项目,在浏览器通过http://localhost/hello即可访问到以上控制器的方法。


在SpringBoot项目中,默认已经将DispatcherServlet映射的路径设置为/*,也就是所有资源(当然,static和webapp这些文件夹已经被设置静态资源文件夹,所以,允许直接访问),所以,在使用@RequestMapping注解配置请求路径时,不需要使用.do或其它后缀,当然,添加了后缀也可以,只要访问时保持一致即可。


在SpringBoot项目中,已经将所以可以设置的编码全部设置成了UTF-8,所以,SpringBoot项目默认是完全支持中文的!


当确定服务器端的响应方式是“响应正文”时,在控制器类之前原本添加的@Controller可以替换为@RestController,该注解相当于@Controller + @ResponseBody,当类的声明之前使用的是@RestController时,该类中的每一个方法都不需要再添加@ResponseBody即可“响应正文”。


目录
相关文章
|
10天前
|
数据采集 监控 前端开发
二级公立医院绩效考核系统源码,B/S架构,前后端分别基于Spring Boot和Avue框架
医院绩效管理系统通过与HIS系统的无缝对接,实现数据网络化采集、评价结果透明化管理及奖金分配自动化生成。系统涵盖科室和个人绩效考核、医疗质量考核、数据采集、绩效工资核算、收支核算、工作量统计、单项奖惩等功能,提升绩效评估的全面性、准确性和公正性。技术栈采用B/S架构,前后端分别基于Spring Boot和Avue框架。
|
23天前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
36 4
|
25天前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,包括版本兼容性、安全性、性能调优等方面。
126 1
|
20天前
|
Java API 数据库
Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐
本文通过在线图书管理系统案例,详细介绍如何使用Spring Boot构建RESTful API。从项目基础环境搭建、实体类与数据访问层定义,到业务逻辑实现和控制器编写,逐步展示了Spring Boot的简洁配置和强大功能。最后,通过Postman测试API,并介绍了如何添加安全性和异常处理,确保API的稳定性和安全性。
31 0
|
14天前
|
前端开发 Java 数据库连接
Spring 框架:Java 开发者的春天
Spring 框架是一个功能强大的开源框架,主要用于简化 Java 企业级应用的开发,由被称为“Spring 之父”的 Rod Johnson 于 2002 年提出并创立,并由Pivotal团队维护。
36 1
Spring 框架:Java 开发者的春天
|
7天前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,帮助开发者提高开发效率和应用的可维护性。
20 2
|
6天前
|
消息中间件 NoSQL Java
springboot整合常用中间件框架案例
该项目是Spring Boot集成整合案例,涵盖多种中间件的使用示例,每个案例项目使用最小依赖,便于直接应用到自己的项目中。包括MyBatis、Redis、MongoDB、MQ、ES等的整合示例。
52 1
|
14天前
|
Java 数据库连接 开发者
Spring 框架:Java 开发者的春天
【10月更文挑战第27天】Spring 框架由 Rod Johnson 在 2002 年创建,旨在解决 Java 企业级开发中的复杂性问题。它通过控制反转(IOC)和面向切面的编程(AOP)等核心机制,提供了轻量级的容器和丰富的功能,支持 Web 开发、数据访问等领域,显著提高了开发效率和应用的可维护性。Spring 拥有强大的社区支持和丰富的生态系统,是 Java 开发不可或缺的工具。
|
1月前
|
NoSQL Java Redis
redis的基本命令,并用netty操作redis(不使用springboot或者spring框架)就单纯的用netty搞。
这篇文章介绍了Redis的基本命令,并展示了如何使用Netty框架直接与Redis服务器进行通信,包括设置Netty客户端、编写处理程序以及初始化Channel的完整示例代码。
38 1
redis的基本命令,并用netty操作redis(不使用springboot或者spring框架)就单纯的用netty搞。
|
20天前
|
人工智能 开发框架 Java
总计 30 万奖金,Spring AI Alibaba 应用框架挑战赛开赛
Spring AI Alibaba 应用框架挑战赛邀请广大开发者参与开源项目的共建,助力项目快速发展,掌握 AI 应用开发模式。大赛分为《支持 Spring AI Alibaba 应用可视化调试与追踪本地工具》和《基于 Flow 的 AI 编排机制设计与实现》两个赛道,总计 30 万奖金。