• 知识分享应用-后端代码从0构建


    知识分享应用—后端

    初始化项目

    创建 Spring Boot 项目

    image-20231007100144979

    pom

    
    
        4.0.0
        
            org.springframework.boot
            spring-boot-starter-parent
            3.0.2
             
        
        cn.swback
        share-api
        0.0.1-SNAPSHOT
        pom
        share-api
        share-api
        
            share-user
        
        
            17
        
        
            
                org.springframework.boot
                spring-boot-starter-web
            
    
            
                org.springframework.boot
                spring-boot-starter-test
                test
            
    
    
    
            
                org.springframework.boot
                spring-boot-devtools
                runtime
                true
            
    
        
    
        
            
                
                    org.springframework.boot
                    spring-boot-maven-plugin
                
            
        
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56

    注意:把项目修改为自动编译,配合 spring-boot-devtools 可以让热部署生效

    image-20231007100339337

    在启动主类中,编写一个测试接口

    image-20231007101436224

    测试,成功

    image-20231007101504844

    提交:初始化项目

    image-20231007101720499

    新增 share-user 模块

    新建 share-user 模块

    image-20231007101802152

    修改 share-user 模块的 pom.xml,添加之前父项目的依赖,并加入 lombok,加入 build 节点

    
    <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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0modelVersion>
        <parent>
            <groupId>cn.swbackgroupId>
            <artifactId>share-apiartifactId>
            <version>0.0.1-SNAPSHOTversion>
        parent>
    
        <artifactId>share-userartifactId>
    
        <properties>
            <maven.compiler.source>17maven.compiler.source>
            <maven.compiler.target>17maven.compiler.target>
            <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
        properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-starter-webartifactId>
            dependency>
    
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-starter-testartifactId>
                <scope>testscope>
            dependency>
    
            <dependency>
                <groupId>org.springframework.bootgroupId>
                <artifactId>spring-boot-devtoolsartifactId>
                <scope>runtimescope>
                <optional>trueoptional>
            dependency>
    
            <dependency>
                <groupId>org.projectlombokgroupId>
                <artifactId>lombokartifactId>
            dependency>
        dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.bootgroupId>
                    <artifactId>spring-boot-maven-pluginartifactId>
                plugin>
            plugins>
        build>
    
    project>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54

    修改父项目的 pom.xml,移除所有的依赖,移除 build,只保留依赖的版本管理

    
    <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.0modelVersion>
        <parent>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-parentartifactId>
            <version>3.0.2version>
            <relativePath/> 
        parent>
    
        <groupId>cn.swbackgroupId>
        <artifactId>share-apiartifactId>
        <version>0.0.1-SNAPSHOTversion>
        <packaging>pompackaging>
        <name>share-apiname>
        <description>share-apidescription>
    
    
        <modules>
            <module>share-usermodule>
        modules>
    
        <properties>
            <java.version>17java.version>
            <spring-cloud.version>2022.0.0spring-cloud.version>
            <spring-cloud-alibaba.version>2022.0.0.0spring-cloud-alibaba.version>
        properties>
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.cloudgroupId>
                    <artifactId>spring-cloud-dependenciesartifactId>
                    <version>${spring-cloud.version}version>
                    <type>pomtype>
                    <scope>importscope>
                dependency>
    
                <dependency>
                    <groupId>com.alibaba.cloudgroupId>
                    <artifactId>spring-cloud-alibaba-dependenciesartifactId>
                    <version>${spring-cloud-alibaba.version}version>
                    <type>pomtype>
                    <scope>importscope>
                dependency>
    
                <dependency>
                    <groupId>com.alibabagroupId>
                    <artifactId>fastjsonartifactId>
                    <version>1.2.78version>
                dependency>
    
                <dependency>
                    <groupId>cn.hutoolgroupId>
                    <artifactId>hutool-allartifactId>
                    <version>5.7.16version>
                dependency>
    
                <dependency>
                    <groupId>org.projectlombokgroupId>
                    <artifactId>lombokartifactId>
                    <version>1.18.28version>
                dependency>
    
            dependencies>
        dependencyManagement>
    
    
    project>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71

    删除父项目的 src

    application.yml

    image-20231007102034759

    src 如图新建包,注意将启动主类放入 config 包

    image-20231007102154437

    image-20231007102353747

    image-20231007102440611

    启动,测试

    image-20231007102533968

    提交:新增 share-user 模块

    image-20231007102611748

    修改启动日志,增加 /user-service 上下文,配置 logback 日志

    修改 UserApplication 启动类,增加启动日志

    image-20231007102853572

    修改 application.yml,增加 /user-service 上下文

    image-20231007102909337

    重启,观察启动日志

    image-20231007103044219

    resources 新增 logback-spring.xml 日志配置文件

    
    <configuration>
        
        <property name="PATH" value="./log/user"/>
    
        <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
            <encoder>
                <Pattern>%d{mm:ss.SSS} %highlight(%-5level) %blue(%-30logger{30}:%-4line) %thread %green(%-18X{LOG_ID}) %msg%n
                Pattern>
            encoder>
        appender>
    
        <appender name=
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
  • 相关阅读:
    客户开发篇 | 外贸业务员怎么打电话开发跟进客户呢?
    Mysql的主从复制和读写分离
    java学习day17(Java核心类库)IO流
    【算法竞赛入门练习题】使用 swap() 函数来实现三个数的排序
    文本提取IP并批量自动化情报查询工具——getIpInfo
    Leetcode 1089. 复写零
    MATLAB计算极限和微积分
    Office Xml 2003转XLSX
    Golang开发习惯:变量、常量声明&使用惯例
    医疗行业企业供应链系统解决方案:实现医疗数智化供应链协同可视
  • 原文地址:https://blog.csdn.net/qq_30817059/article/details/133659448