项目练习:若依后台管理系统-后端服务开发步骤(springboot单节点版本)

server/2025/1/22 12:23:30/

文章目录

  • 1、用Maven搭建项目脚手架,父子工程依赖。
  • 2、引入SpringBoot Web容器依赖
  • 3、引入Mybatis+druid依赖
  • 4、实现接口查询数据
  • 5、整合logback日志功能

1、用Maven搭建项目脚手架,父子工程依赖。

在这里插入图片描述

  • root模块的pom添加plugin配置
    <build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin></plugins></build>

2、引入SpringBoot Web容器依赖

  • framework模块中添加依赖配置
        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>

这一步,可以写个启动类,正常启动项目。

3、引入Mybatis+druid依赖

  • framework模块中添加依赖配置
        <dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.2</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.8</version></dependency>
  • framework模块中添加配置类,指定mapper扫描位置
java">package com.gsd.framework.config;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Configuration;@Configuration
@MapperScan("com.gsd.**.mapper")
public class ApplicationConfig {
}
  • admin模块的application.xml,配置Mybatis。
mybatis:type-aliases-package: com.gsd.**.domainmapper-locations: classpath*:mapper/**/*Mapper.xml
# Spring配置
spring:profiles:active: druid
  • admin模块的application-druid.xml,配置MySQL。
# 数据源配置
spring:datasource:type: com.alibaba.druid.pool.DruidDataSourcedriverClassName: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8username: rootpassword: 123456

4、实现接口查询数据

dao(mapper和mapper.xml)、service、controller三层。

  • 在common模块添加依赖
    这个依赖中,包含@Service和@Autowired等注解,用于开发service层。
        <!-- Spring框架基本的核心工具 --><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId></dependency>

5、整合logback日志功能

  • admin模块的resources文件夹下添加logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration><!-- 日志存放路径 --><property name="log.path" value="/home/my_ruoyi/logs" /><!-- 日志输出格式 --><property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" /><!-- 控制台输出 --><appender name="console" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>${log.pattern}</pattern></encoder></appender><!-- 系统日志输出 --><appender name="file_info" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${log.path}/sys-info.log</file><!-- 循环政策:基于时间创建日志文件 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 日志文件名格式 --><fileNamePattern>${log.path}/sys-info.%d{yyyy-MM-dd}.log</fileNamePattern><!-- 日志最大的历史 60天 --><maxHistory>60</maxHistory></rollingPolicy><encoder><pattern>${log.pattern}</pattern></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 过滤的级别 --><level>INFO</level><!-- 匹配时的操作:接收(记录) --><onMatch>ACCEPT</onMatch><!-- 不匹配时的操作:拒绝(不记录) --><onMismatch>DENY</onMismatch></filter></appender><appender name="file_error" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${log.path}/sys-error.log</file><!-- 循环政策:基于时间创建日志文件 --><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 日志文件名格式 --><fileNamePattern>${log.path}/sys-error.%d{yyyy-MM-dd}.log</fileNamePattern><!-- 日志最大的历史 60天 --><maxHistory>60</maxHistory></rollingPolicy><encoder><pattern>${log.pattern}</pattern></encoder><filter class="ch.qos.logback.classic.filter.LevelFilter"><!-- 过滤的级别 --><level>ERROR</level><!-- 匹配时的操作:接收(记录) --><onMatch>ACCEPT</onMatch><!-- 不匹配时的操作:拒绝(不记录) --><onMismatch>DENY</onMismatch></filter></appender><!-- 用户访问日志输出  --><appender name="sys-user" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${log.path}/sys-user.log</file><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!-- 按天回滚 daily --><fileNamePattern>${log.path}/sys-user.%d{yyyy-MM-dd}.log</fileNamePattern><!-- 日志最大的历史 60天 --><maxHistory>60</maxHistory></rollingPolicy><encoder><pattern>${log.pattern}</pattern></encoder></appender><!-- 系统模块日志级别控制  --><logger name="com.ruoyi" level="info" /><!-- Spring日志级别控制  --><logger name="org.springframework" level="warn" /><root level="info"><appender-ref ref="console" /></root><!--系统操作日志--><root level="info"><appender-ref ref="file_info" /><appender-ref ref="file_error" /></root><!--系统用户操作日志--><logger name="sys-user" level="info"><appender-ref ref="sys-user"/></logger>
</configuration>
  • root模块的pom添加依赖
        <!-- 覆盖logback的依赖配置--><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId><version>1.2.13</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>1.2.13</version></dependency>
  • 用法
java">    private static final Logger sys_user_logger = LoggerFactory.getLogger("sys-user");private static final Logger logger = LoggerFactory.getLogger(SysUserController.class);

待补充…


http://www.ppmy.cn/server/160454.html

相关文章

mkv转码mp4(ffmpeg工具)

基于windows&#xff0c;Linux也可以用&#xff0c;都是命令行 下载路径&#xff08;https://github.com/BtbN/FFmpeg-Builds/releases&#xff09; 下载安装包&#xff1a;ffmpeg-n6.1-latest-win64-lgpl-6.1.zip&#xff0c;&#xff08;根据自己的平台选择下载&#xff09;并…

SSTI注入

ssti漏洞成因 ssti服务端模板注入&#xff0c;ssti主要为python的一些框架 jinja2 mako tornado django&#xff0c;PHP框架smarty twig&#xff0c;java框架jade velocity等等使用了渲染函数时&#xff0c;由于代码不规范或信任了用户输入而导致了服务端模板注入&#xff0c;…

C#集合操作优化:高效实现批量添加与删除

在C#中&#xff0c;对集合进行批量操作&#xff08;如批量添加或删除元素&#xff09;通常涉及使用集合类型提供的方法和特性&#xff0c;以及可能的循环或LINQ查询来高效地处理大量数据。以下是一些常见的方法和技巧&#xff1a; 批量添加元素 使用集合的AddRange方法&#x…

vif-方差膨胀因子计算

vif-方差膨胀因子 使用statsmodels中的variance_inflation_factor&#xff0c;数据集使用乳腺癌数据集 import pandas as pd import numpy as np from sklearn.datasets import load_breast_cancer from tqdm import notebook from statsmodels.stats.outliers_influence impor…

利用 Java 爬虫获取 1688 商品评论的实践指南

在电商领域&#xff0c;商品评论是消费者决策的重要参考因素&#xff0c;同时也是商家了解产品反馈、优化服务的关键数据来源。1688 作为国内知名的 B2B 电商平台&#xff0c;拥有海量的商品评论数据。本文将详细介绍如何利用 Java 爬虫技术获取 1688 商品评论&#xff0c;并提…

Dify:低代码 AI 应用开发平台详解与实战指南

Dify&#xff1a;低代码 AI 应用开发平台详解与实战指南 近年来&#xff0c;大语言模型&#xff08;LLM&#xff09;的快速发展使得 AI 应用的开发变得更加高效&#xff0c;而 Dify 作为一款低代码 AI 应用开发平台&#xff0c;让开发者可以更轻松地构建和部署 AI 驱动的智能助…

虚幻商城 Fab 免费资产自动化入库

文章目录 一、背景二、实现效果展示三、实现自动化入库一、背景 上一次写了个这篇文章 虚幻商城 Quixel 免费资产一键入库,根据这个构想,便决定将范围扩大,使 Fab 商城的所有的免费资产自动化入库,是所有!所有! 上一篇文章是根据下图这部分资产一键入库: 而这篇文章则…