用户中心项目(前后端环境搭建)

news2024/12/25 8:50:29

文章目录

    • 1.企业做项目流程
    • 2.需求分析
        • 1.登录/注册
        • 2.用户管理(仅管理员可见)
        • 3.用户校验
    • 3.技术选型
    • 4.计划
    • 5.初始化项目
        • 1.前端初始化
          • 1.ant design pro 官网
          • 2.ant design pro 初始化
            • 1.本地创建一个文件夹存放项目
            • 2.cmd进入该目录
            • 3.根据官网进行初始化项目
            • 4.npm i @ant-design/pro-cli -g
            • 5.pro create myapp(项目名)
            • 6.选择simple的脚手架
            • 7.cd myapp(项目名)
            • 8.npm install 安装依赖
            • 9.npm audit fix
            • 10.npm run start
            • 11.输入http://localhost:8000查看效果
            • 12.ctrl + c 退出
            • 13.使用idea打开,并配置start命令
            • 14.运行成功
        • 2.项目瘦身(熟悉这个项目之前不建议乱搞,跳过即可)
        • 3.安装MySQL5.7.19
        • 4.初始化SpringBoot项目(手动配置方式)
          • 1.创建maven项目
          • 2.pom.xml 引入依赖
          • 3.删除不必要的文件夹
          • 4.src/main/resources/application.yml 配置数据源和服务器端口8080
          • 5. com/sun/usercenter/Application.java 编写运行类,测试是否可以正常运行
          • 6.目前阶段项目目录
          • 7.数据库创建
          • 8.src/main/resources/application.yml 修改数据库名
          • 9.根据官方文档的案例进行测试
            • 1.在navicat中,使用刚才创建的数据库,创建一个user表并插入测试数据
            • 2.编写实体类 com/sun/usercenter/model/User.java
            • 3.com/sun/usercenter/mapper/UserMapper.java 编写Mapper接口
            • 4.com/sun/usercenter/mapper/UserMapper.java demo测试
            • 5.结果展示
    • 6.将本地项目交给Git管理
        • 1.GitHub创建远程仓库
        • 2.克隆项目到本地任意一个文件夹
        • 3.将文件夹中的内容全部复制到项目文件夹下
        • 4.注意这里如果没有看到.git文件夹,就是默认被隐藏了,可以设置一下显示隐藏的项目
        • 5.提交代码

1.企业做项目流程

需求分析 => 设计 => 技术选型 => 初始化/引入需要的技术 => 写demo => 写代码 => 单元测试 => 代码提交/代码评审 => 部署 => 发布

2.需求分析

1.登录/注册
2.用户管理(仅管理员可见)
3.用户校验

3.技术选型

image-20240320094609487

4.计划

image-20240320095109911

5.初始化项目

1.前端初始化
1.ant design pro 官网

ant design pro 官网

2.ant design pro 初始化
1.本地创建一个文件夹存放项目

image-20240320101408383

2.cmd进入该目录

image-20240320101453171

3.根据官网进行初始化项目

初始化项目

4.npm i @ant-design/pro-cli -g

image-20240320102812318

5.pro create myapp(项目名)

image-20240320102942705

6.选择simple的脚手架

image-20240320103149601

7.cd myapp(项目名)

image-20240320103208757

8.npm install 安装依赖

image-20240320103251906

9.npm audit fix

image-20240320115752875

10.npm run start

image-20240320105346099

11.输入http://localhost:8000查看效果

image-20240320105414967

12.ctrl + c 退出

image-20240320105451651

13.使用idea打开,并配置start命令

image-20240320105816632

14.运行成功

image-20240320105839968

2.项目瘦身(熟悉这个项目之前不建议乱搞,跳过即可)
3.安装MySQL5.7.19
4.初始化SpringBoot项目(手动配置方式)
1.创建maven项目

image-20240320141713164

2.pom.xml 引入依赖
    <!--指定编译版本为1.8-->
    <properties>
        <java.version>1.8</java.version>
    </properties>

    <!--引入springboot父工程-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.4</version>
        <relativePath/>
    </parent>

    <!--引入依赖-->
    <dependencies>
        <!--web场景启动器-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--mybatis场景启动器(其实在引入了MybatisPlus场景启动器就不需要引入了)-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.2</version>
        </dependency>
        <!--MybatisPlus场景启动器-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.1</version>
        </dependency>
        <!--Apache Commons Lang,一个Java库,提供了一些Java基本类的帮助工具,如字符串操作、-->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.12.0</version>
        </dependency>
        <!--Spring Boot的一个开发工具包,主要用于提高开发效率,例如通过提供自动重启来加快开发循环。-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <!--MySQL的官方JDBC驱动包,允许Java应用与MySQL数据库进行连接和交互。-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <!--用于处理Spring Boot配置属性的注解处理器,通过该依赖,可以生成和提供配置元数据信息,使IDE能够提供自动补全和文档支持。-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <!--一个Java库,用于自动化生成代码(如getters, setters, equals, hashCode等方法)。-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <!--Spring Boot的测试套件,包含了进行单元测试和集成测试所需的依赖,如JUnit、Spring Test、Mockito等。-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <!--一个Java编程语言的单元测试框架,用于编写和运行可重复的测试,它是Java开发中最广泛使用的测试框架之一。-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <!--这个配置的目的是在打包应用时,从最终的包中排除lombok。
    Lombok是一个在编译时提供自动代码生成(如getters, setters, constructors等)的Java库,
    通常只在开发阶段需要,而不需要被包含在最终的应用包中。-->
    <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>
        </plugins>
    </build>
3.删除不必要的文件夹

image-20240320144142265

4.src/main/resources/application.yml 配置数据源和服务器端口8080
# 配置服务器端口
server:
  port: 8080
#  配置数据源
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver #注意这里是mysql5的驱动,如果是mysql8选择另一个
    username: root
    password: root
#    这里的url别忘记填写数据库名
    url: jdbc:mysql://localhost:3306/xxxx?useSSL=false&useUnicode=true&characterEncoding=UTF-8
  application:
    name: user-center #这个名字一般是用来做微服务的服务名,用来标识某个服务的,与项目名保持一致即可
5. com/sun/usercenter/Application.java 编写运行类,测试是否可以正常运行
package com.sun.usercenter;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @author 孙显圣
 * @version 1.0
 */
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

image-20240320150100145

6.目前阶段项目目录

image-20240320150154507

7.数据库创建

image-20240320152445290

8.src/main/resources/application.yml 修改数据库名

image-20240320152607163

9.根据官方文档的案例进行测试
1.在navicat中,使用刚才创建的数据库,创建一个user表并插入测试数据
-- 使用刚才创建的数据库
use sun;

-- 创建user表
CREATE TABLE `user`
(
    id BIGINT NOT NULL COMMENT '主键ID',
    name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
    age INT NULL DEFAULT NULL COMMENT '年龄',
    email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
    PRIMARY KEY (id)
);

-- 插入测试数据
INSERT INTO `user` (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');

SELECT * FROM user;
2.编写实体类 com/sun/usercenter/model/User.java
package com.sun.usercenter.model;

import lombok.Data;

/**
 * @author 孙显圣
 * @version 1.0
 */
@Data 
public class User {
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

3.com/sun/usercenter/mapper/UserMapper.java 编写Mapper接口
package com.sun.usercenter.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sun.usercenter.model.User;
import org.apache.ibatis.annotations.Mapper;

/**
 * @author 孙显圣
 * @version 1.0
 */
@Mapper
public interface UserMapper extends BaseMapper<User> {
}

4.com/sun/usercenter/mapper/UserMapper.java demo测试
  • 注意一个问题,关于@RunWith(SpringRunner.class)注解,如果使用的是 org.junit.jupiter.api.Test;这个测试类就不需要加
  • 但是如果使用的是 org.junit.Test; 这个测试类就需要加,否则依赖不会自动注入
package com.sun.usercenter;

import com.baomidou.mybatisplus.core.toolkit.Assert;
import com.sun.usercenter.mapper.UserMapper;
import com.sun.usercenter.model.User;

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

import javax.annotation.Resource;
import java.util.List;

/**
 * @author 孙显圣
 * @version 1.0
 */
@SpringBootTest
// 如果使用的是import org.junit.Test; 这个测试类则需要加上这个注解,否则依赖不会自动注入
//@RunWith(SpringRunner.class)
public class SampleTest {

    // 依赖注入Mapper接口的代理对象,使用代理对象直接调用接口方法,框架会自动找到方法的实现
    @Resource
    private UserMapper userMapper;

    @Test
    public void testSelect() {
        System.out.println(("----- selectAll method test ------"));
        List<User> userList = userMapper.selectList(null);
        Assert.isTrue(5 == userList.size(), "");
        userList.forEach(System.out::println);
    }

}
5.结果展示

image-20240320160133810

6.将本地项目交给Git管理

1.GitHub创建远程仓库

image-20240320161011585

2.克隆项目到本地任意一个文件夹

3.将文件夹中的内容全部复制到项目文件夹下

image-20240320162910886

image-20240320162939967

4.注意这里如果没有看到.git文件夹,就是默认被隐藏了,可以设置一下显示隐藏的项目

image-20240320163021164

5.提交代码

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

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

相关文章

《C语言深度剖析》---------关键字(1)

1.双击实质--->加载内存 windows系统里面&#xff0c;双击的本质就是运行程序&#xff0c;把程序加载到内存里面&#xff1b; 任何程序运行的时候都必须加载到内存里面&#xff1b; 程序没有运行之前在硬盘里面&#xff0c;为什么程序运行之前必须加载到内存里面呢&#…

免费的chatgpt网站(包含最新版4.0)

相信每个人在生活工作学习中都逃不过用chatgpt来解决一些问题&#xff0c;下面我长话短说&#xff0c;为大家简单介绍几款免费且好用的chatgpt网站 1、YesChat 网址&#xff1a;YesChat-ChatGPT4V Dalle3 Claude 3 All in One Free 第一个就给大家介绍一个狠角色&#xff0c;最…

万界星空科技铜杆加工行业生产管理MES系统

传统的铜管加工方法有&#xff1a; &#xff08;1&#xff09;铜管挤压加工技术&#xff08;2&#xff09;铜管上引连铸法&#xff08;3&#xff09;铜管(有缝)焊接生产技术&#xff08;4&#xff09;铸轧法生产精密铜管铸轧法 生产精密铜管是一种全新的生产工艺&#xff0c;…

154.乐理基础-和弦固定标记法(三)九音、十一音、十三音

如果到这五线谱还没记住还不认识的话去看102.五线谱-高音谱号与103.五线谱-低音谱号这两个里&#xff0c;这里面有五线谱对应的音名&#xff0c;对比着看 内容参考于&#xff1a;三分钟音乐社 上一个内容&#xff1a;153.和弦的织体 上一个内容里练习的答案&#xff1a; 接下…

开放签开源电子签章白皮书-简版

开放签开源电子签章白皮书-简版 一、摘要&#xff1a; 开放签电子签章团队源自于电子合同SaaS公司&#xff0c;立志于通过开源、开放的模式&#xff0c;结合团队十多年的行业经验&#xff0c;将电子签章产品更简单、更低门槛的推广到各行各业中。让电子签章应用更简单&#x…

31.HarmonyOS App(JAVA)鸿蒙系统app Service服务的用法

鸿蒙系统app Service服务的用法 后台任务调度和管控 HarmonyOS将应用的资源使用生命周期划分为前台、后台和挂起三个阶段。前台运行不受资源调度的约束&#xff0c;后台会根据应用业务的具体任务情况进行资源使用管理&#xff0c;在挂起状态时&#xff0c;会对应用的资源使用进…

2024年熔化焊接与热切割证模拟考试题库及熔化焊接与热切割理论考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年熔化焊接与热切割证模拟考试题库及熔化焊接与热切割理论考试试题是由安全生产模拟考试一点通提供&#xff0c;熔化焊接与热切割证模拟考试题库是根据熔化焊接与热切割最新版教材&#xff0c;熔化焊接与热切割大…

n皇后问题(典dfs )注意对角线状态判断

思路&#xff1a;用的dfs思想&#xff0c;第一种是全排列思路&#xff0c;和数字排列同样的步骤。要注意对对角线的判断。下面画了个图简单示意一下&#xff0c;但是 u 和 i 的位置变了&#xff0c;在代码里呈现不一样。明天再改吧。先睡了。 代码&#xff1a; #include<io…

IDE(集成开发环境)插件是安全开发的便捷方式之一

开发人员每天都使用插件&#xff0c;插件的功能在于简化开发流程&#xff0c;例如自动检测所有特殊字符&#xff08;如“;”、“:”&#xff09;或语法合规性。创建插件的目的本身就是为了让开发人员能够在编写代码时检测漏洞&#xff0c;并在无需离开 IDE 环境的情况下立即修复…

STM32CubeMX学习笔记25---FreeRTOS信号量

一、信号量简介 信号量用于同步&#xff0c;任务间或者任务和中断间同步 互斥量用户互锁&#xff0c;用于保护同时只能有一个任务访问的资源&#xff0c;为资源上一把锁。 二值信号量&#xff1a;同步。如果存在两个线程&#xff0c;为线程1和线程2&#xff0c;如果线程1发送了…

大载重无人机基础技术,研发一款50KG负重六旋翼无人机技术及成本分析

六旋翼无人机是一种多旋翼无人机&#xff0c;具有六个旋翼&#xff0c;通常呈“X”形布局。它采用电动串列式结构&#xff0c;具有垂直起降、悬停、前飞、后飞、侧飞、俯仰、翻滚等多种飞行动作的能力。六旋翼无人机通常被用于航拍、农业植保、环境监测、地形测绘等领域。 六旋…

PolarDN MISC(简单)大礼包 :详细思路过程

0和255 题目给了俩个文件&#xff0c;一个.txt,一个.py .txt文件中包含0和255 一个字节有八位&#xff0c;每一位只能储存1或0&#xff0c;计算机只懂二进制&#xff0c;所以就是2的八次方&#xff0c;又计算机规定从0开始计数&#xff0c;所以是0至255 考虑用编码转换工具将其…

Android: Gradle 命令

一、查看整个项目依赖传递关系 x.x.x (*) 该依赖已经有了&#xff0c;将不再重复依赖。x.x.x -> x.x.x 该依赖的版本被箭头所指的版本代替。x.x.x -> x.x.x(*) 该依赖的版本被箭头所指的版本代替&#xff0c;并且该依赖已经有了&#xff0c;不再重复依赖。 1. gradlew ap…

redis常用五大数据类型

目录 Key 字符串String 常用命令 列表List 常用命令 集合Set 常用命令 Hash哈希 键值对集合 有序集合Zset Redis新数据类型 Key set key value...添加keykeys *查看当前库中所有的keyexist key该key是否存在type keykey的类型del key删除keyunlink key根据value选择非阻塞…

基于springboot+vue的火锅店管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

2024.3.16-408学习笔记-C-数据在内存中的存储

1、整数型存储 整数型存储就是所有整型家族里的数据类型的存储方式&#xff0c;也就是说包含了字符类型的存储&#xff08;因为字符的操作符的返回值是ASCII码值&#xff0c;故实际上存储的是整数&#xff09;。 1.1、有符号整数 有符号整数包含char&#xff0c;short&#x…

Combining external-latent attention for medical image segmentation

结合外部潜在注意的医学图像分割 摘要 注意机制是提高医学图像分割性能的新切入点。如何合理分配权重是注意力机制的关键,目前流行的方法包括全局压缩和使用自注意操作的非局部信息交互。然而,这些方法过于关注外部特征,缺乏对潜在特征的开发。全局压缩方法通过全局均值或…

(一)基于IDEA的JAVA基础3

通过之前的内容&#xff0c;我们在建好的文件夹下建一个java文件&#xff0c;我们来在IDEA中写一下之前用记事本写的helloworld&#xff0c;我们先看一下java代码的规范: 1.java程序文件名一定要有意义&#xff0c;首字母一定要大写。 2.class后面的名字:由大小写字母&#x…

【NTN 卫星通信】 车辆物联网设备通过NTN和TN切换的应用场景

1 场景描述 对于有两个3GPP无线接入网服务的大面积农田和农场&#xff0c;物联网设备可以通过NTN和TN接入网同时受益于5G系统的双转向数据连接能力。   在这个用例中&#xff0c;我们有一个广域的农业自动化应用系统来控制农业车辆&#xff0c;例如&#xff0c;一个装有数百个…

遇见AI暴雨受邀参加NVIDIA GTC 2024

2024年3月18日&#xff0c;备受瞩目全球科技盛会——2024 GTC在美国加州圣何塞拉开帷幕&#xff0c;此次大会旨在展示最新的GPU&#xff08;图形处理单元&#xff09;技术和应用&#xff0c;以及人工智能、数据科学、深度学习、虚拟化等领域的创新和发展。作为NVIDIA多年的战略…