【Java】Spring boot快速上手(一):葵花宝典

news2024/11/25 2:37:43

目录

  • 前言
  • 学习目标
  • 学习内容
    • 工具及其环境配置说明
    • 新建spring web项目
      • 打开idea 新建项目
      • 创建项目
    • 配置
    • 设置静态资源映射
      • 编写html访问前端
    • 最后

在这里插入图片描述

前言

该系列文章仅用于个人学习记录,适合入门级,对于文中有错误的地方还望海涵,之前打算结合《瑞吉外卖》项目进行学习梳理,但是后面发现通过直接上手并不能完全学习到spring,于是我找了个适合自己学习的文章,通过比较简化学习,因为万事都是开头难,不能因为听不懂导致放弃学习,因为有了其他语言框架学习的经验,所以我认为可行的学习路线应该是,①了解框架的工作原理、②由易到难的扩展学习
再强调一次!由于本人是java新手,本文章或者是本系列仅供自己和入门起步比较难的读者,对于开发大佬还请勿喷,文中一定会有自己理解不到的地方

学习目标

  • 安装java jdk(略)
  • 安装idea(略)
  • 新建spring web项目
  • 配置解读
  • 访问前端
  • 访问接口(混合在例如: vue 等mvc框架中讲解,后面更新)

学习内容

工具及其环境配置说明

虽然,这一部分略过,但还是说一嘴吧,
①jdk自己去官网下载安装,配置到系统环境变量中去
②idea下载好后,激活怎么办?第一,想办法去破解 ;第二,也就是博主的办法,学校不是有邮箱吗?去注册一个开通教育邮箱,可以白嫖,到时候登陆上去就行了

新建spring web项目

打开idea 新建项目

在这里插入图片描述

创建项目

选择spring项目,确定好代码存放路径、版本即可

在这里插入图片描述
这里可以配置镜像源路径为阿里云的:
在这里插入图片描述
继续下一步,勾选web项目
在这里插入图片描述

配置

创建成功后我们可以看到项目结构为
在这里插入图片描述
这里我们只用关注pom.xml就行,里面涉及到的是一些依赖文件

继续看src文件夹下的结构
在这里插入图片描述
test为测试
main为主程序

我们尝试运行DemoApplication看看项目是否启动成功?
在这里插入图片描述

WebApplicationContext
2022-10-30 17:13:32.207  INFO 5252 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2703 ms
2022-10-30 17:13:32.644  INFO 5252 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2022-10-30 17:13:33.260  INFO 5252 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2022-10-30 17:13:33.282  INFO 5252 --- [           main] com.example.demo.DemoApplication         : Started DemoApplication in 4.796 seconds (JVM running for 6.296)
2022-10-30 17:13:33.325  INFO 5252 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'

可通过上方代码日志,发现端口为8080
所以访问网站localhost:8080即可
在这里插入图片描述
因为不存在该页面,所以返回404了

但是我们的项目已经跑通了

设置静态资源映射

在DemoApplication同级目录下,我们新建一个包(package)
包名叫config
在这里插入图片描述
在这个包里面新建一个class(类)
名叫WebMvcConfig
在这里插入图片描述
设置静态资源映射

package com.example.demo.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;

@Configuration
public class WebMvcConfig extends WebMvcConfigurationSupport {
    /**
     * 设置静态资源映射
     *
     *
     */
    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/templates/**").addResourceLocations("classpath:/templates/");
        registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
    }




}

上面的代码不方便查看日志,所以我们加一个注解Slf4j
通过
log.info("");
打印日志

所以代码修改为:

package com.example.demo.config;


import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
@Slf4j
@Configuration
public class WebMvcConfig extends WebMvcConfigurationSupport {
    /**
     * 设置静态资源映射
     *
     *
     */
    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        log.info("静态资源配置");
        registry.addResourceHandler("/templates/**").addResourceLocations("classpath:/templates/");
        registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
    }




}


由于没有配置过Slf4j依赖,所以我们对代码@Slf4j处
在这里插入图片描述
保存启动看看,出现打印日志,说明启动了
在这里插入图片描述

编写html访问前端

我们刚刚完成了静态资源映射的设置,现在需要新建一个前端页面,通过访问来说明资源文件已经被映射了

这里忘记说一下资源文件的路径了,所有的静态资源和前端页面都被默认放在这里,可以根据自己的需要更换默认的文件夹名,只需要改上面的代码即可
在这里插入图片描述

继续我们先新建一个简单的hello word
新建index.html

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>spring boot</title>
</head>
<body>
<div> "Hello World"</div>
</body>
</html>

存放在resources中的templates下
在这里插入图片描述
保存后重启项目,访问

http://localhost:8080/templates/index.html

在这里插入图片描述
出现刚刚写的前端文件,测试成功!

最后

本节对于spring web项目的探索就到这里,下一节将会从 其他框架开始入手讲解,随着技术的更近,知识的完备,后面会更新修改掉这些出现在文中的错误(如果有的话)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1983.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【JavaSE】初识Java

文章目录一. Java语言概述1. Java语言的组成1.1 什么是JavaSE1.2 什么是JavaEE1.3 什么是JavaME2. Java语言的产生3. Java语言的优势二. 初识Java的main方法1. main方法示例2. 运行Java程序一. Java语言概述 Java是一门面向对象编程语言&#xff0c;不仅吸收了C语言的各种优点…

学习python第一天,请教一下怎么学?

前言 小白建议以视频入门&#xff0c;或者是看一些适合入门的书比如《笨办法学Python》&#xff1b; 在这个资源泛滥的时代&#xff0c;更需要有自己的一套学习方法。尤其是针对自学来说&#xff0c;遇到问题不知道如何解决&#xff0c;那么就要做好前置的学习计划&#xff1…

我越努力生活,生活就越努力的干我

92年出生&#xff0c;工作9年。我也不知道今年多少岁了&#xff0c;结婚6年&#xff0c;两个小孩&#xff0c;一个是男孩&#xff0c;「该死的」另一个也是男孩&#xff0c;周五晚上&#xff0c;手机屏幕的时间刚过9点50&#xff0c;我小心拉开门缝往里面瞧了一眼后推开房门&am…

C++ Reference: Standard C++ Library reference: C Library: cstring: strchr

C官网参考链接&#xff1a;https://cplusplus.com/reference/cstring/strchr/ 函数 <cstring> strchr const char * strchr ( const char * str, int character ); char * strchr ( char * str, int character ); 定位字符串中第一个出现的字符 返回指向C字符串s…

[前端基础] 浏览器篇

提供基础用法&#xff0c;基础概念引用 MDN、W3C&#xff0c;基础内容做扩展知识&#xff0c;可应对面试&#xff0c;详细原理及应用需要去官网、GitHub 深入学习。 1、常用 BOM 方法 BOM&#xff08;browser object model&#xff09;简称浏览器对象模型&#xff0c;BOM 提供…

【SpringBoot笔记18】SpringBoot实现统一异常处理、统一结果响应、统一参数校验

这篇文章&#xff0c;主要介绍如何利用SpringBoot框架实现统一异常处理、统一结果响应、统一参数校验。 目录 一、SpringBoot统一结果响应 1.1、创建工程 1.2、配置FastJson 1.3、创建ResultEnum枚举 1.4、创建Result实体类 二、SpringBoot统一异常处理 2.1、创建自定义…

【LeetCode 784. 字母大小写全排列】异或进行字母大小写变换

LeetCode784.字母大小写全排列解题方法&#xff1a;回溯用异或进行大小写变换正式解题总代码784.字母大小写全排列 给定一个字符串 s &#xff0c;通过将字符串 s 中的每个字母转变大小写&#xff0c;我们可以获得一个新的字符串。 返回 所有可能得到的字符串集合 。以 任意顺…

htm+JS实现绘制数学函数绘图

htmJS实现绘制数学函数绘图 其中常用的函数可参见&#xff0c;JS中常用的Math方法 https://blog.51cto.com/u_10725738/5253407 https://www.jb51.net/article/9151.htm JS(JavaScript)常用Math函数与用法说明 方法描述示例abs(x)返回数的绝对值。Math.abs(-10)//返回10aco…

【Linux】--谈谈冯诺依曼体系结构和操作系统

文章目录冯诺依曼体系组成部分数据层面CPU存储器外设结论操作系统什么是操作系统为什么要有操作系统怎么去管理总结冯诺依曼体系 冯诺依曼结构是一种将程序指令存储器和数据存储器合并在一起的存储器结构&#xff0c;数学家冯诺依曼提出了计算机制造的三个基本原则&#xff0c…

C++继承、多继承及菱形继承

继承 继承是C面向对象的三大特性之一&#xff08;封装、继承和多态&#xff09;。 一、构造和析构顺序 先执行父类构造函数&#xff0c;再执行子类构造函数&#xff1b; 先执行子类析构函数&#xff0c;在执行父类析构函数。 二、同名隐藏 2.1 概念 子类中的同名属性和成…

vue父子组件传值记录

之前父子组件传值不太熟悉&#xff0c;组件间传值要么用vuex&#xff0c;要么用sessionStorage缓存&#xff0c;但是sessionStorage感觉用多了不太好&#xff0c;缓存太多容易混淆&#xff0c;vuex还是比较好用&#xff0c;&#xff0c;但是用的过程中好像有个问题&#xff0c;…

Shell之计算命令、流程控制、函数

文章目录&#x1f68f; Shell计算命令&#x1f680; Shell计算命令&#xff1a;expr命令详解&#x1f6ac; 求值表达式(整数 前面)&#x1f6ac; 字符串语法&#x1f6ac; 小结&#x1f684; Shell计算命令&#xff1a;(())命令详解&#x1f6ac; 小结&#x1f692; Shell计算命…

linux:2.3.4 查找/搜索命令(find+grep)+压缩/解压缩命令(gzipbzip2+tar+mv+mkdir)

2.3.4 查找/搜索命令 1. find 在 Windows 中搜索文件&#xff0c;一般查找文件需要传入两个条件&#xff1a;① 在哪些目录中查找&#xff1b; ② 查找的内容.。在 Linux 中&#xff0c;查找文件的也需要这两个条件&#xff0c;不同于 Windows 使用搜索框 查找&#xff0c;Li…

蓝桥杯单片机第九届省赛题详细讲解(电子钟)

看之前强烈建议先自己做一遍&#xff01;&#xff01;&#xff01;演示视频题目讲解完整程序main.conewire.honewire.cds1302.hds1302.c工程文件演示视频 题目讲解 首先还是一如既往从题目的程序框图准备起。 将ds18b20&#xff0c;独立按键&#xff0c;数码管显示&#xff0…

弹指间计算机协会 2021“千里码”程序设计竞赛 题面

A.Hello World! Description 为保证所有参赛人员在比赛中都能拿到分数&#xff0c;本题只考察c的输出。 算法比赛不仅考察思考问题的能力&#xff0c;也需要一定的细心程度。 直接输出" HelI0 Wor1d!&#xff01;" &#xff0c;您将获得此题的全部分数。 Input 本…

django基于python的旅游网站--python-计算机毕业设计

项目介绍 旅游网站系统的用户分管理员和用户两个角色的权限子模块。 管理员所能使用的功能主要有&#xff1a;首页、个人中心、用户管理、景点分类管理、景点信息管理、门票预订管理、酒店信息管理、客房信息管理、客房预订管理、美食信息管理、用户分享、系统管理等。 用户可…

[MySQL]变量

文章目录1. 变量1.1 系统变量1.1.1 系统变量分类1.1.2 查看系统变量查看所有系统变量查询部分系统变量查看指定系统变量1.1.3 修改系统变量方式一&#xff1a;修改配置文件方式二&#xff1a;使用 set 设置系统变量的值1.2 用户变量1.2.1 用户变量的分类1.2.2 会话用户变量变量…

Maven

Maven是专门用于管理和构建Java项目的工具&#xff0c;它的主要功能有&#xff1a; 提供了一套标准化的项目结构提供了一套标准化的构建流程&#xff08;编译&#xff0c;测试&#xff0c;打包&#xff0c;发布...&#xff09;提供了一套依赖管理机制标准化的项目结构 不同IDE之…

C++语法——详细剖析多态与虚函数

目录 一.虚函数与多态的概念与基本使用 &#xff08;一&#xff09;.概念 &#xff08;二&#xff09;.基本使用 二.虚函数的底层 三.特殊的虚函数&#xff08;协变&#xff09; 四.多态在多继承、菱形继承与菱形虚拟继承中的使用。 &#xff08;一&#xff09;.多继承 …

C语言分支与循环实战篇-猜数字小游戏/关机小程序

前言 &#x1f47b;作者&#xff1a;龟龟不断向前 &#x1f47b;简介&#xff1a;宁愿做一只不停跑的慢乌龟&#xff0c;也不想当一只三分钟热度的兔子。 &#x1f47b;专栏&#xff1a;C初阶知识点 &#x1f47b;工具分享&#xff1a; 刷题&#xff1a; 牛客网 leetcode笔记软…