初级 - 如何搭建一个Java Web项目 - 记录

news2024/11/26 16:50:17

目录

  • 序言
  • 一、使用 Spring Initializr 创建创建一个Java 项目基本框架的方法
    • 1. 新建项目时,安装依赖理解
      • Developer Tools 选项 ==!==
      • Web 选项 ==!==
    • 其他选项具体详情请最下面的参考链接,这里就不一一列举了,只筛选出笔者当前需要的
      • Template Engines 选项
      • Security 选项
      • SQL 选项 ==!==
      • NoSQL 选项 ==!==
    • 启动报错解决方法
      • Messaging 选项
      • I/O 选项
      • Ops 选项
      • Observability 选项
      • Testing 选项
      • Spring Cloud 选项
      • Spring Cloud Tools 选项
      • Spring Cloud Config 选项
      • Spring Cloud Discovery 选项
      • Spring Cloud Routing 选项
      • Spring Cloud Circuit Breaker 选项
      • Spring Cloud Messaging 选项
      • VMware Tanzu Application Service选项
      • Microsoft Azure 选项
      • Google Cloud Platform 选项
  • 参考链接

序言

Intellij IDEA 一般可以通过两种方式创建 Spring Boot 项目:
使用 Maven 创建
使用 Spring Initializr 创建

Tips:

标题选项后的 感叹号 的是重点配置

一、使用 Spring Initializr 创建创建一个Java 项目基本框架的方法

在这里插入图片描述

在这里插入图片描述

1. 新建项目时,安装依赖理解

这里笔者选择的是 2.x 版本的 Spring Boot,不勾选 Download pre-built

1. 取消download pre-built shared indexes自动下载

Developer Tools 选项

1. Spring Boot Devtools 依赖详解

2. Lombok

3. spring-boot-configuration-processor 是干啥用的

4. SpringBoot学习:spring-boot-configuration-processor

Spring Boot Devtools 比较好理解,帮助开发者在开发环境可以更好的开发项目,修改代码后可以实时更新服务器的为修改代码后的新状态

Lombok 依赖指的是,可以省略实体类的 getset 等方法,只需要一个 @Data 注释,就可以使用实体类内的每一个 getset 方法,可以减少开发者的出错率,因为有时候开发者可能会忘记去添加 getset方法,导致代码标红。

这里的 Developer Tools 选项,笔者只选择 Spring Boot DevToolsLombok 两个依赖 ,Spring Configuration Processor 依赖暂时没怎么用到。

在这里插入图片描述

Web 选项

这里最最重要的是 Spring Web 依赖,起到一个路由收发的作用,一个 Java Web 项目的根本服务核心。该依赖是一个 Web 框架,目前笔者只需要用到这个 Spring Web 依赖。

以后比较有可能会用到的依赖,我会排在前面,其他的依赖正常排序。

安装依赖的详情链接:(只粘贴部分依赖详情链接)

Spring Web

1. SpringWeb(SpringMVC)详解


Spring Session

1. Spring Session 详解


Spring Reactive Web

1. Web——Spring Reactive Web
tips:

  1. Spring 5 里 Spring Reactive Web 改名为 Spring WebFlux

2. 压测对比: Spring WebFlux VS. Spring MVC

3. SPRINGBOOT家族之REACTIVE WEB框架:WEBFLUX(五)


Spring for GraphQL

1. Spring for GraphQL 中文文档

2. Spring for GraphQL入门


Rest Repositories

1. springboot-构建RESTful服务

2. Spring Boot 实现REST服务

3. Web——Rest Repositories

其他选项具体详情请最下面的参考链接,这里就不一一列举了,只筛选出笔者当前需要的

在这里插入图片描述

Template Engines 选项

笔者一般喜欢前后端分离的,这里就不选了。

Security 选项

目前还不需要

SQL 选项

这里笔者只需要用到 Mybatis 调用 MySQL 数据库

Mybatis框架超详解及运用总结

在这里插入图片描述

NoSQL 选项

Spring Data Redis (Access+Driver)

Spring Data MongoDB

在这里插入图片描述
Spring Data MongoDB 的依赖是:

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
 </dependency>

关于 Mongo DB 依赖,其实还有一个依赖,可以替换,即 spring-data-mongodb,两者用其一。

        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-mongodb</artifactId>
        </dependency>

如下链接:

1. MongoDB–Spring Data MongoDB详细的操作手册(增删改查)

2. spring-data-mongodb

3. SpringData MongoDB

启动报错解决方法

还有一点要注意,启动项目时,如果没有配置 MongoDB ,就会报错,原因在于 MongoAutoConfiguration Mongo DB 依赖的自启动。

启动类模板 添加 exclude 参数

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.data.mongo.MongoDataAutoConfiguration;
import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration;

@SpringBootApplication(exclude = { MongoAutoConfiguration.class , MongoDataAutoConfiguration.class})
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

}

Spring Boot 禁用MongoDB数据库自动化配置(auto configuration)的方式

好了,安装的依赖,就到这里了,下面的依赖目前还不需要,想要了解的参考链接。

Messaging 选项

目前还不需要

I/O 选项

目前还不需要

Ops 选项

目前还不需要

Observability 选项

(可观察性应用)

目前还不需要

Tips:

Influx

将 Influx 发布到 Micrometer 微测度量指标服务。Influx 是一个开源的时序型数据库,常用于存储系统监控数据,IoT 行业的实时数据等场景。IoT 指物联网,通过各种信息传感器等设备采集信息。

可以和物联网有所交互,或许比较会有可能用到

Testing 选项

目前还不需要 / Spring Boot 版本低无法使用该依赖

Spring Cloud 选项

目前还不需要

Spring Cloud Tools 选项

目前还不需要 & Spring Boot 2.x 版本低无法使用 Open Service Broker 依赖

Spring Cloud Config 选项

目前还不需要

Spring Cloud Discovery 选项

目前还不需要

Spring Cloud Routing 选项

目前还不需要

Spring Cloud Circuit Breaker 选项

目前还不需要

Spring Cloud Messaging 选项

目前还不需要

VMware Tanzu Application Service选项

目前还不需要

Microsoft Azure 选项

目前还不需要

Google Cloud Platform 选项

目前还不需要


参考链接

1. IDEA创建Spring Boot项目

2. Intelij IDEA创建SpringBoot项目 - 配置文件的解释

3. idea中列出的spring依赖(大全)

4. Java SpringBoot框架依赖汇总

5. IDEA 创建 Spring Boot 可选依赖说明

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

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

相关文章

科技政策 | 国家网信办等七部门联合公布《生成式人工智能服务管理暂行办法》

文 | BFT机器人 近日&#xff0c;国家网信办联合国家发展改革委、教育部、科技部、工业和信息化部、公安部、广电总局公布《生成式人工智能服务管理暂行办法》&#xff08;以下称《办法》&#xff09;&#xff0c;自2023年8月15日起施行。国家互联网信息办公室有关负责人表示&a…

零代码编程:用ChatGPT自动登陆微信公众号后台

要实现微信公众号后台自动登陆&#xff0c;可以使用ChatGPT来编写Python代码实现。 微信公众平台账号密码登陆&#xff0c;要先点击“使用账号登录”&#xff0c;源代码是&#xff1a;<a href"javascript:;" class"login__type__container__select-type"…

Python自动化之pytest常用插件

目录 1、失败重跑 pytest-rerunfailures 2、多重校验 pytest-assume 3、设定执行顺序 pytest-ordering 4、用例依赖&#xff08;pytest-dependency&#xff09; 5.分布式测试(pytest-xdist) 6.生成报告&#xff08;pytest-html&#xff09; 1、失败重跑 pytest-rerunfailu…

web 前端 Day 4

盒子模型 <style>div {width: 300px;height: 300px;background-color: pink;padding-left: 4px; 左侧内边距border: 3px solid red;margin: 50px;}</style> padding 内边距 </head> ​ <body> ​<div>cfdaffshydghjgdjdnjjjjjjjjjjjjjjj&l…

springboot网吧管理系统

着科学技术发展&#xff0c;电脑已成为人们生活中必不可少的生活办公工具&#xff0c;在这样的背景下&#xff0c;网络技术被应用到各个方面&#xff0c;为了提高办公生活效率&#xff0c;网络信息技术飞速发展。在这样的背景下人类社会进入了全新的信息化的时代。网吧管理一直…

Jenkins持续集成项目实践 —— 基于Python Selenium自动化测试(二)

上一篇讲了如何搭建jenkins&#xff0c;这篇主要讲&#xff0c;怎么将自动化代码与jenkins衔接起来 jenkins上运行的两种方式&#xff1a; 第一种&#xff0c;在jenkins上面运行本地代码&#xff0c;操作如下: 新建项目&#xff1a;项目名称根据自己项目情况填写并选择自由模…

【C语言初阶(16)】操作符2

文章目录 Ⅰ关系操作符Ⅱ 逻辑操作符⒈操作符介绍⒉短路求值 Ⅲ 条件操作符Ⅳ 逗号表达式Ⅴ 下标引用、函数调用和结构成员⒈[ ] 下标引用操作符⒉( ) 函数调用操作符⒊结构体成员访问操作符 Ⅵ 表达式求值⒈隐式类型转换&#xff08;整型提升&#xff09;⒉算术转换⒊操作符的…

精品项目源码第52期运动会管理系统(代号V052)

精品项目源码第52期运动会管理系统(代号V052) 大家好&#xff0c;小辰今天给大家介绍一个运动会管理系统&#xff0c;演示视频公众号&#xff08;小辰哥的Java&#xff09;对号查询观看即可 文章目录 精品项目源码第52期运动会管理系统(代号V052)难度指数&#xff08;中高等&…

uboot、kernel启动过程分析

00、uboot的宏观启动 第1种&#xff1a;bootROM读取SPL到片内RAM&#xff0c;SPL初始化DDR&#xff0c;SPL把uboot程序copy到DDR&#xff0c;uboot启动进行必要外设初始化、自我拷贝、重定位等。 第2种&#xff1a;bootROM直接读取uboot的头部信息&#xff08;IVT、DCD&#xf…

python详解(8)——进阶(2):初步算法

目录 &#x1f3c6;一、前言 &#x1f3c6;二、时间复杂度 &#x1f3c6;三、递推 &#x1f6a9;1.简介 &#x1f6a9;2.爬楼梯 &#x1f6a9;3、猴子吃桃 &#x1f3c6;四、递归 &#x1f6a9;1、简介 &#x1f6a9;2、递归求斐波那契数列 &#x1f6a9;3、递归求阶乘 &#x…

【Git】Git 拉取的快速方法(含项目示例)

文章目录 一、问题的提出二、问题的尝试解决 一、问题的提出 在我们之前的拉取中&#xff0c;速度可能比较慢&#xff0c;例如&#xff0c;我们要拉取CLIP的项目。 (ldm) rootI1385efcc2300601b29:/hy-tmp/latent-diffusion# pip install githttps://github.com/openai/CLIP.…

Redis 从入门到精通【进阶篇】之高可用集群(Redis Cluster)详解

文章目录 0. 前言设计目标核心概念 1. 架构设计和原理1.1. 数据分片2. 节点间通信6. 扩容和缩容 2. 总结3. Redis从入门到精通系列文章4. Redis Cluster面试题4.1. Redis Cluster如何进行扩容和缩容&#xff1f;4.2. Redis Cluster如何进行故障转移&#xff1f;4.3. Redis Clus…

【计算机视觉 | 图像分类】arxiv 计算机视觉关于图像分类的学术速递(7 月 14 日论文合集)

文章目录 一、分类|识别相关(10篇)1.1 Video-FocalNets: Spatio-Temporal Focal Modulation for Video Action Recognition1.2 Watch Your Pose: Unsupervised Domain Adaption with Pose based Triplet Selection for Gait Recognition1.3 YOLIC: An Efficient Method for Obj…

【JavaEE】HTTP请求的构造

目录 1、通过form表单构造HTTP请求 2、通过JS的ajax构造HTTP请求 3、Postman的安装和简单使用 常见的构造HTTP请求的方式有一下几种&#xff1a; 直接通过浏览器的地址栏&#xff0c;输入一个URL&#xff0c;就可以构造一个GET请求HTML中的一些特殊标签&#xff0c;也会触发…

【Linux】1、装机、装操作系统、部署

文章目录 一、装系统1.0 格式化 U 盘1.1 做启动盘1.1.2 rufus1.1.2 poweriso 1.2 安装步骤 二、恢复系统2.1 BootManager2.2 recovery mode 一、装系统 下载地址&#xff1a; http://old-releases.ubuntu.com/releases/16.04.5/ubuntu-16.04.5-server-amd64.isohttps://mirro…

基于STM32 ARM+FPGA伺服控制系统(二)软件及FPGA设计

完整的伺服系统所包含的模块比较多&#xff0c;因此无法逐一详细介绍&#xff0c;所以本章着重介绍 设计难度较高的 FPGA 部分并简单介绍 ARM 端的工作流程。 FPGA 部分主要有 FOC 算法、电流采样算法及编码器采样算法&#xff0c;是整个控制系统的基础&#xff0c;直接…

本地appserv外挂网址如何让外网访问?快解析端口映射

一、appserv是什么&#xff1f; AppServ 是 PHP 网页架站工具组合包&#xff0c;作者将一些网络上免费的架站资源重新包装成单一的安装程序&#xff0c;以方便初学者快速完成架站&#xff0c;AppServ 所包含的软件有&#xff1a;Apache[、Apache Monitor、PHP、MySQL、phpMyAdm…

好物推荐文案怎么写吸引人?纯干货

互联网上充斥着各种各样好物种草文&#xff0c;一不小心就跌入了软文的圈套中&#xff0c;好物推荐文案写得好&#xff0c;流量绝对少不了。 好物推荐文案怎么写吸引人&#xff1f;通过整理总结上百篇爆款种草文案&#xff0c;总结出一套超实用的文案写作妙招&#xff01;纯干…

活动页服务端渲染探索

目标 通过采用在服务端渲染激励页的方式&#xff0c;降低页面加载白屏时间&#xff0c;从而提升激励 H5 渲染体验。 架构设计 前端服务框架调研选型 只对比分析以下两种方案&#xff1a; Vue3 Nuxt3 WebpackNext.js React Node.js ’Nuxt3Next.js介绍Nuxt是一个基于Vu…

flask实现get和post请求

1、实现get请求 在项目根目录创建app.py 代码如下&#xff1a; from flask import Flask,render_template,requestapp Flask(__name__)app.route("/regist/user/", methods[GET]) def regist():return render_template("regist.html") #默认去templat…