Spring项目配置

news2024/11/28 4:45:11

1.创建项目

2.修改编码格式为UTF-8

3.检查或配置代码⾃动补全功能

4.检查或配置⾃动导包

5.检查或配置Maven,可以⽤国内仓库镜像

6.idea识别Maven项⽬:在Notifications视图中会提⽰Load Maven Project,点击即可。

7.开启热部署

   a.确认 pom.xml中已经引⽤依赖

!-- dependencies 标签下检查是否引⼊spring-boot-devtools依赖,如果没有加⼊如下引⽤ --> 
 <dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-devtools</artifactId>
   <scope>runtime</scope>
   <optional>true</optional>
 </dependency>

b.在Settings对应栏⽬中勾选如下选项

8.选择YAML或Properties文件

项⽬中可以选择YAML和Properties⽂件做为配置⽂件(可以同时存在),这里使用application.yml文件

# application.yml
# Spring 全局配置 
spring:
  application:
    name: java_forum  # 项目名称
  output:
    ansi:
      enabled: ALWAYS # 控制台输出彩色日志
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/java_forum?characterEncoding=utf8&useSSL=false # 数据库连接串
    username: root # 数据库用户名
    password:      # 数据库密码
    driver-class-name: com.mysql.jdbc.Driver # 数据库驱动类
  mvc:
    pathmatch:
      matching-strategy: ANT_PATH_MATCHER #Springfox-Swagger兼容性配置
  # JSON序列化配置
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss # 日期格式
    default-property-inclusion: NON_NULL # 不为null时序列化

server:
  port: 58080 # 修改Tomcat的默认端口号

# 日志配置
logging:
  pattern:
    date format: yyyy-MM-dd HH:mm:ss
  level:
    root: info # 默认日志级别
    com.example.demo: debug # 指定包的日志级别
  file:
    path: D:\git_file\java_forum  # 日志保存目录

# mybatis 相关配置,单独配置,顶格写
mybatis:
  mapper-locations: classpath:mapper/**/*.xml # 指定 xxxMapper.xml的扫描路径

# 项目自定义相关配置
java-forum:
  login:
    url: sign-in.html  # 未登录状况下强制跳转页面
  index: # 首页配置节点
    board-num: 9  # 首页中显示的版块个数

9.环境测试

在JavaForumApplication.java同级创建controller包,controller包下创建TestController.java

// Controller注解,返回的对象⽤JSON形式表⽰
@RestController
// 指定测试根路径映射地址前缀
@RequestMapping("/test")
public class TestController {

    @ApiOperation(("测试打印"))
    @GetMapping("/hello")
    public String hello(){
        return "hello";
    }
}

10.测试Maven

     在pom.xml⽂件的properties标签下加⼊如下配置:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.7.6</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>com.example</groupId>
	<artifactId>java_forum</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>java_forum</name>
	<description>基于 Spring 前后端分离版本的论坛系统</description>
	<properties>
		<!-- 编译环境JDK版本 -->
		<maven.compiler.source>${java.version}</maven.compiler.source>
		<!-- 运⾏环境JVM版本 -->
		<maven.compiler.target>${java.version}</maven.compiler.target>
		<!-- 构建项⽬指定编码集 -->
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<!-- 管理依赖版块号-->
        <!-- mysql-connector 数据库链接驱动包 -->
		<mysql-connector.version>5.1.49</mysql-connector.version>
		<!-- mybatis -->
		<mybatis-starter.version>2.3.0</mybatis-starter.version>
		<!-- 数据源,阿里出的数据源工具 -->
		<druid-starter.version>1.2.16</druid-starter.version>
		<!-- mybatis生成器 -->
		<mybatis-generator-plugin-version>1.4.1</mybatis-generator-plugin-version>
		<!-- springfox - Swagger -->
		<springfox-boot-starter.version>3.0.0</springfox-boot-starter.version>
		<java.version>1.8</java.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

        <!--热部署插件-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<scope>runtime</scope>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
<!--		数据库驱动 -->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>${mysql-connector.version}</version>
		</dependency>
		<!-- mybatis 依赖
 其中已经包含了spring-jdbc不再重复引⽤,
 此项⽬中使⽤spring-jdbc提供的HikariCP做为数据源, 相关配置在yml⽂件中
-->
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>${mybatis-starter.version}</version>
		</dependency>

		<!-- 阿⾥巴巴druid数据源,如果使⽤SpringBoot默认的数据源,删除或注释这个依赖即可 -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid-spring-boot-starter</artifactId>
			<version>${druid-starter.version}</version>
		</dependency>
		<!-- API文档生成,基于swagger2 -->
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-boot-starter</artifactId>
			<version>${springfox-boot-starter.version}</version>
		</dependency>
		<!-- SpringBoot健康监控 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-actuator</artifactId>
		</dependency>

		<!-- 编码解码加密工具包-->
		<dependency>
			<groupId>commons-codec</groupId>
			<artifactId>commons-codec</artifactId>
		</dependency>

	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<excludes>
						<exclude>
							<groupId>org.projectlombok</groupId>
							<artifactId>lombok</artifactId>
						</exclude>
					</excludes>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>3.1.0</version>
				<configuration>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>

			<!-- mybatis ⽣成器插件 -->
			<plugin>
				<groupId>org.mybatis.generator</groupId>
				<artifactId>mybatis-generator-maven-plugin</artifactId>
				<version>${mybatis-generator-plugin-version}</version>
				<executions>
					<execution>
						<id>Generate MyBatis Artifacts</id>
                        <!--指定Maven中的执行阶段 -->
						<phase>deploy</phase>
						<goals>
							<goal>generate</goal>
						</goals>
					</execution>
				</executions>
				<!-- 相关配置 -->
				<configuration>
					<!-- 打开⽇志 -->
					<verbose>true</verbose>
					<!-- 允许覆盖 -->
					<overwrite>true</overwrite>
					<!-- 配置⽂件路径 -->
					<configurationFile>
						src/main/resources/mybatis/generatorConfig.xml
					</configurationFile>
				</configuration>
			</plugin>
		</plugins>
	</build>

</project>

11.在Maven栏⽬,双击package,运⾏命令

     使⽤⽤浏览器访问:http://localhost:58080/test/hello,看到如下结果说明运⾏成功。

12.通过Git推送⾄远程仓库

      查看当前状态,列出未修改后添加的⽂件:git status

      添加修改后的⽂件到暂存区,再次运⾏git status,上⾯的⽂件会变为绿⾊显⽰:git add .

      提交到本地仓库:git commit -m '备注'

      推送到远程仓库:git push origin master

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

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

相关文章

vue制作页面水印

1.新建一个js js的代码 let watermark {}let setWatermark (str) > {let id 1.23452384164.123412415if (document.getElementById(id) ! null) {document.body.removeChild(document.getElementById(id))}let can document.createElement(canvas)can.width 500can.he…

一文彻底吃透自动化测试框架所有知识

定义测试自动化 在任何行业中&#xff0c;自动化通常被解释为自动处理流程&#xff0c;而这些流程几乎不需要人工干预。在软件行业&#xff0c;测试自动化意味着使用许可版本或开源的自动化工具对软件应用程序执行各种测试。用技术术语来说&#xff0c;测试自动化框架是一组定制…

css自学框架之图片灯箱展示

实现的功能是页面中的图片单击&#xff0c;在灯箱中显示&#xff0c;单击按钮上下切换&#xff0c;单击灯箱退出展示&#xff0c;效果如下GIF展示。 实现步骤还是老样子&#xff0c;三方面工作一是CSS、二是JavaSxcript&#xff0c;三是HTML&#xff0c;下面开始一步一步实现&…

助眠小程序源码系统搭建

一直比较热门的项目&#xff0c;这款系统支持流量主和会员体系的。 用抖音伴侣直播也不错&#xff0c;然后间接引流到自己的小程序&#xff0c;后期还可以卖项目等&#xff0c; 也适合拿来做流量矩阵小程序。也可以用来做其他的声音音乐类的项目 大致功能: 支持流量主支持会员…

运维Shell脚本小试牛刀(五):until循环|循环控制break|continue

运维Shell脚本小试牛刀(一) 运维Shell脚本小试牛刀(二) 运维Shell脚本小试牛刀(三)::$(cd $(dirname $0)&#xff1b; pwd)命令详解 运维Shell脚本小试牛刀(四): 多层嵌套if...elif...elif....else fi_蜗牛杨哥的博客-CSDN博客 Cenos7安装小火车程序动画 运维Shell脚本小试…

Photoscan/Metashape 2.0.0中的地面激光扫描处理

在Metashape(原Photoscan)2.0.0, 结构化地面激光扫描和非结构化航空激光扫描都可以使用导入点云&#xff08;文件>导入>导入点云&#xff09;命令导入。导入时会保留所有点属性&#xff08;包括结构化信息&#xff09;。 本文讨论以下主题 如何将激光扫描数据导入项目&am…

高忆管理:六连板!我乐家居累计涨超77%,公司:存在估值较高风险

9月4日&#xff0c;家具板块继续活泼&#xff0c;同花顺家具板块涨幅达5.46%&#xff0c;顶固集创&#xff08;300749.SZ&#xff09;20CM涨停&#xff0c;美之高(834765)涨超12%&#xff0c;帝欧家居&#xff08;002798.SZ&#xff09;、亚振家居&#xff08;603389.SH&#x…

day04_基本数据类型丶变量丶基本数据类型转换

前置知识 计算机世界中只有二进制。那么在计算机中存储和运算的所有数据都要转为二进制。包括数字、字符、图片、声音、视频等。 进制 进制也就是进位计数制&#xff0c;是人为定义的带进位的计数方法 。不同的进制可以按照一定的规则进行转换。 进制的分类 十进制&#x…

sqlserver数据库链接mysql服务器访问数据

sqlserver数据库链接mysql服务器访问数据 关于SqlServer数据库怎么链接mysql数据库我一直不明白&#xff0c;今天项目碰到一个问题需要链接&#xff0c;我就研究了一下&#xff0c;然后就成功了&#xff0c;在这里记录一下。也欢迎朋友互相学习交流借鉴。 1.使用navicat打开S…

推荐6款普通人搞副业做自媒体AI工具

hi&#xff0c;同学们&#xff0c;我是赤辰&#xff0c;本期是赤辰第5篇AI工具类教程&#xff0c;文章底部准备了粉丝福利&#xff0c;看完可以领取&#xff01;身边越来越多的小伙伴靠自媒体实现财富自由了&#xff01;因此&#xff0c;推荐大家在工作之余或空闲时间从事自媒体…

windows查看端口占用,通过端口找进程号(查找进程号),通过进程号定位应用名(查找应用)(netstat、tasklist)

文章目录 通过端口号查看进程号netstat通过进程号定位应用程序tasklist 通过端口号查看进程号netstat 在Windows系统中&#xff0c;可以使用 netstat 命令来查看端口的占用情况。以下是具体的步骤&#xff1a; 打开命令提示符&#xff08;CMD&#xff09;&#xff1a;按WinR组…

听厂家聊聊:劳保鞋何时该报废?

在现代工业社会里&#xff0c;劳保鞋作为一种较为常见的劳保用品&#xff0c;被广泛用于各行各业。劳保鞋&#xff0c;也称安全鞋&#xff0c;是保护使用者脚部免受意外事故引起的伤害&#xff0c;可以对足部起到一定的防护作用。不管是防砸还是防静电&#xff0c;甚至是耐高温…

进程、线程与构造方法

进程、线程与构造方法 目录 一&#xff0e; 进程与线程1. 通俗解释2. 代码实现3. 线程生命周期&#xff08;图解&#xff09; 二&#xff0e; 构造方法 一&#xff0e; 进程与线程 1. 通俗解释 进程&#xff1a;就像电脑上运行的软件&#xff0c;例如QQ等。 线程&#xff1a;…

robot framework入门案例

Robot Framework是一个完全基于关键字测试驱动的框架&#xff1b; 关键字可以理解为一个能实现特定功能的对象&#xff08;如ssh连接、登录、新增配置等&#xff09; 有了关键字后&#xff0c;就可以通过关键字组合成案例&#xff1b; 所以入门案例只需要两个文件 &#xf…

AcWing 788. 逆序对的数量(归并排序)

基本思想 归并排序是用分治思想&#xff0c;分治模式在每一层上有三个步骤&#xff1a; &#xff08;1&#xff09;分解&#xff1a;将n个元素分解成n/2个元素的子序列。 &#xff08;2&#xff09;解决&#xff1a;用合并排序法对两个子序列递归排序。 &#xff08;3&…

护眼灯的色温是多少比较好?如何选择护眼台灯

色温是台灯的一个重要指标&#xff0c;它可以表示光线中包含颜色的成分&#xff0c;从理论上简单来讲&#xff0c;色温从低到高对应着光线从黑到红&#xff0c;再到黄、白&#xff0c;最后到蓝色光。色温也可以对应大众所熟悉的色调&#xff0c;色温越高&#xff0c;光线偏白色…

开学哪种电容笔好用?推荐的ipad手写笔

如果你希望通过iPad进行绘画&#xff0c;那么Apple Pencil就很重要了。不过&#xff0c;苹果原装电容笔的售价实在是太高了&#xff0c;许多人无法承受。因此&#xff0c;最佳方法是选择一款平替电容笔。我以前一直用iPad平板&#xff0c;也是个数码爱好者&#xff0c;这两年我…

AJAX学习笔记6 JQuery对AJAX进行封装

AJAX学习笔记5同步与异步理解_biubiubiu0706的博客-CSDN博客 AJAX请求相关的代码都是类似的&#xff0c;有很多重复的代码&#xff0c;这些重复的代码能不能不写&#xff0c;能不能封装一个工具类。要发送ajax请求的话&#xff0c;就直接调用这个工具类中的相关函数即可。 用J…

jar包冲突: java.lang.NoSuchFieldError: REFLECTION

接入第三方时&#xff0c;导入了第三方的SDK&#xff0c;导致项目其他功能读取本地xml时出错&#xff0c;根据具体日志查看发现是具体某个jar包版本的问题 根据上图可看到&#xff0c;问题在com.sun.xml.bind包&#xff0c;于是根据便向着把我导入的SDK下所属的该jar过滤掉&am…

MySQL递归查询所有子集

在 MySQL 数据库中&#xff0c;WITH RECURSIVE 是递归查询的一种语法。然而&#xff0c;MySQL 并不支持 WITH RECURSIVE 语法。相反&#xff0c;MySQL 提供了另一种递归查询的方法&#xff0c;即使用 CONNECT BY 和 START WITH 语法。 如果您需要执行递归查询&#xff0c;建议…