JavaEE进阶:SpringBoot概念、创建和运⾏

news2024/11/15 4:53:27

文章目录

  • 一、Spring Boot 优点
  • 二、Spring Boot 项⽬创建
    • 1、使用 Idea 创建
      • ① 准备工作
      • ② 创建项目
      • ③ 注意事项
    • 2、网页版创建(了解)
  • 三、项目目录介绍和运行
    • 1、运行项目
    • 2、输出 Hello world
  • 四、注意事项:包路径错误
    • 1、正确路径
    • 2、小结:约定大于配置

一、Spring Boot 优点

Spring 的诞⽣是为了简化 Java 程序的开发的,⽽ Spring Boot 的诞⽣是为了简化 Spring 程序开发的。

Spring Boot 优点

  • 可以直接在启动时增加依赖,我们可以直接通过勾选,快速形成框架;
  • 内置运行容器,不需要 Tomcat 等,可以直接运行和部署程序;
  • 同样不需要外部容器,即可启动并运⾏项⽬;
  • 淘汰了 XML,使用注解和配置的方式代替;
  • 可以通过一些监控指标,了解当前项目的运行情况。

二、Spring Boot 项⽬创建

1、使用 Idea 创建

① 准备工作

首先要安装一个插件,Spring Boot Helper(社区板需要,专业板请忽略):
在这里插入图片描述

② 创建项目

在这里插入图片描述
在这里插入图片描述
这样就完成了 Spring Boot 的项⽬创建。

③ 注意事项

我们在第⼀次打开 Spring Boot 项⽬需要加载很久,因为当前 Spring Boot 框架并没有在⾃⼰的本地仓库。

我们先要保证我们的maven是国内源(这里建议采用idea全局设置):

  1. 如果已经打开项目:File→Close Project(没有的话就直接到第二步)
  2. Customize→All settings
    在这里插入图片描述
  3. 配置国内源:
    在这里插入图片描述

2、网页版创建(了解)

Spring官网:https://start.spring.io

在这里插入图片描述
生成项目后,会下载⼀个 Spring Boot 的 zip 包,解压以后,用idea打开就是一个 Spring Boot 项目了

三、项目目录介绍和运行

在这里插入图片描述
主要有两个目录:

  • src/main/java 为 Java 源代码。
    • 具体的我们后面再讲
  • src/main/resources 为静态资源或配置⽂件:
    • /static:静态资源⽂件夹;
    • /templates:模版资源⽂件夹;
    • application.properties:项目配置信息。

1、运行项目

在这里插入图片描述
运行启动类的 main 方法即运行 Spring Boot 项目。
在这里插入图片描述
上图即成功启动 Spring Boot 项目。

2、输出 Hello world

创建一个测试类,然后写一个简单的接口
在这里插入图片描述

@RestController
public class TestController {

    @RequestMapping("/sayhello")
    public String sayHello(){
        return "Hello,Spring Boot";
    }

}

启动项目,访问 http://localhost:8080/sayhello,结果如下:
在这里插入图片描述

四、注意事项:包路径错误

假如说,我们不小心做出了如下改动:
在这里插入图片描述
运行项目,结果如下:
在这里插入图片描述

1、正确路径

与启动类在同级目录下
在这里插入图片描述

2、小结:约定大于配置

Spring 的核心设计思想:约定大于配置

为什么会出现上述情况呢?
其实是正是因为约定大于配置,在 Spring 中也是要配置 Bean 的扫描路径的,⽽ Spring Boot 则不需要,因为 Spring Boot 默认扫描和启动类 的 同级目录 以及 子目录;但是如果不满足上述条件,那就不会被扫描到,所以 Bean 就没有被注入。

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

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

相关文章

第十四届蓝桥杯集训——JavaC组第九篇——三元运算符

第十四届蓝桥杯集训——JavaC组第九篇——三元运算符 一元运算符(一元运算符有1个操作数) ,- -都是运算符,- -可分为前,后+和前-,后减如果在后面,如:num 10;先参与运算,然…

基于混合NSGA II-MOPSO算法的热电联合经济排放调度(Matlab代码实现)【混合多目标遗传算法-多目标粒子群算法】

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥 🚀支持:🎁🎁🎁如果觉得博主的文章还不错或者您用得到的话&…

游戏开发43课 移动游戏性能优化1

1. 前言 很多年前就想将这些年工作中积累的优化经验撰写成文章,但懒癌缠身,迟迟未动手,近期总算潜下心写成文章。 涉及到具体优化技巧时,博主会尽量阐述原理和依据,让读者知其然也知其所以然。要完全读懂这篇文章&am…

尚医通MyBatis-Plus入门、添加、主键策略(二)

目录: (1)MyBatis-Plus入门案例 (2)MyBatis-Plus-添加和主键生成策略 (1)MyBatis-Plus入门案例 简介: MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具&a…

c51单片机烧录程序 控制台显示正在检测目标单片机

问题 c51单片机烧录程序 控制台显示正在检测目标单片机 详细问题 笔者使用单片机型号STC89C52, 进行程序烧录。控制台显示正在检测目标单片机 解决方案 将单片机型号由STC89C52更改为STC89C52RC 即 原因 STC89C52与STC89C52RC属于不同型号,STC89C…

NoSQL数据库原理与应用综合项目——起始篇

NoSQL数据库原理与应用综合项目——起始篇 文章目录NoSQL数据库原理与应用综合项目——起始篇0、 写在前面1、项目说明1.1 项目背景1.2 项目功能2、数据集和数据预处理2.1 数据集2.2 数据预处理2.2.1 图书出版日期字段的处理2.2.2 添加id字段2.2.3 价格字段的处理2.2.4 打折字段…

chatgpt接入微信

背景 chatgpt是一个有趣的、聪明的AI机器人。很多人希望可以把这个机器人接入微信群聊里面。 介绍 本项目,使用python制作了一个微信群聊机器人。 微信群聊机器人群聊里面,被艾特后,会基于被艾特的内容,发送对应的文本。可以使…

CVE-2019-15107 webmin RCE漏洞复现

今天继续给大家介绍渗透测试相关知识,本文主要内容是CVE-2019-15107 webadmin RCE漏洞复现。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调&#xf…

【测绘程序设计】——椭球面弧长计算

椭球面弧长计算主要指——①根据纬度计算子午线弧长(B→X);②由子午线弧长求大地纬度(X→B)。它们主要用在高斯投影之中。本文分享了测绘程序设计——椭球面弧长计算(C#版与Python版),相关源代码(绝对完整,直接运行)及使用示例如下。 目录 Part.Ⅰ 使用示例Chap.Ⅰ …

redis基础

redis是一个基于内存的Key-Value数据库 1.基于内存存储,读写性能高 2.适合存储热点数据(热点商品、咨询、新闻) 3.NoSQL,不仅仅是SQL,泛指关系数据库 关系型数据库 Mysql Oracle DB2 SQLServer 非关系型数据…

参数化集成测试

我们在开发项目的过程中遇到了复杂的业务需求,测试同学没有办法帮我们覆盖每一个场景;或者是我们自己在做代码功能升级、技改,而不是业务需求的时候,可能没有测试资源帮我们做测试,那这个时候就需要依靠自己的单元测试…

数据结构之树相关概念的知识铺垫

文章目录前言1.树的相关介绍2. 树的表示3.二叉树概念及结构4.二叉树的性质5.二叉树相关概念练习6.总结前言 之前对数组结构中线性结构进行了相关的介绍,本文将开始对非线性结构进行相关的介绍,首先介绍的是树,会围绕树的相关概念进行初步的简…

记住这三个方法,让你的钱越花越多

小狗钱钱 关于作者 本书作者博多•舍费尔,是德国著名的投资 家、企业家、演说家以及畅销书作家。他 人生中曾出现过严重的财务危机,但他凭 着自己的努力,重新获得了财务自甶。这 段经历让他产生了和更多人分享理财知识 的想法,《…

玩以太坊链上项目的必备技能(类型-映射类型-Solidity之旅四)

映射(Mapping) 说到映射(Mapping),有过其它编程语言经验的您,对这是再熟悉不过了。Solidity 中的映射(Mapping) 与Java的Map、Go里的Map以及javascript的JSON等众多编程语言中的Map…

考虑柔性负荷的综合能源系统低碳经济优化调度【考虑碳交易机制】(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

【大数据入门核心技术-ElasticSearch】(一)ElasticSearch介绍

目录 一、什么是Elasticsearch? 二、核心概念 1.倒排索引(Inverted Index) 2.节点 & 集群(Node & Cluster) 3.索引(Index) 4.文档(Document) 5.类型(type…

游戏开发50课 性能优化8

4.2 渲染状态优化 4.2.1 状态缓存 在引擎侧&#xff0c;可以使用状态缓存减少渲染管线的切换。伪代码&#xff1a; class RenderStateCache { public:void InitRenderStates();{for (RenderStateType tRenderStateType.begin; t<RenderStateType.end; i){_renderStateCac…

[附源码]计算机毕业设计基于微信小程序的网络办公系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

微服务框架 SpringCloud微服务架构 微服务保护 31 限流规则 31.3 流控模式【链路】

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式&#xff0c;系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 微服务保护 文章目录微服务框架微服务保护31 限流规则31.3 流控模式【链路】31.3.1 流控模式 - 链路31.3.2 举个栗子31.3.3 总结31 限流规则…

Vite + Vue3 + Electron 创建打包桌面程序、实现进程通信

目录 1. Electron 介绍 2. 使用 Vite 构建 Electron 项目 2.1 创建 Vite 应用&#xff0c;安装 Electron 依赖 2.2 在 vite.config.ts 中&#xff0c;配置 Electron 入口文件 2.3 编写 electron / index.ts 2.3.1 app、BrowserWindow 2.3.2 使用 win.loadURL 加载窗口 /…