手把手教你入门vue+springboot开发(一)--springboot入门


前言

因为工作原因,需要从C/S开发转到B/S开发,搞了10几年C/C++开发,现在需要从头开始学习B/S,好在我也是一个喜欢迎接挑战的人。B/S架构选择前后端分离开发的vue+springboot框架。从本篇开始,我将以一个入门新手的角色结合实战来详细记录vue+springboot的学习过程,供vue+springboot入门者参考。


一、springboot简介

目前B/S架构比较流行vue+springboot框架,前端使用vue开发,后端使用springboot开发,上手快,开发效率高,而且vue和springboot都能支持很多插件。我们先从springboot开始构建一个可运行的demo。
以往,Java开发者们为了构建一个项目常常需要将许多的框架组合起来使用,例如Hibernate和Spring等,这个过程复杂且耗时。这也就是Spring Boot应运而生的原因。
Spring Boot是由Pivotal团队提供的全新框架,其设计目标是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义模板化的配置。Spring Boot集成了大量常用的第三方库配置,比如jackson、jdbc、druid、tomcat等,Spring Boot应用中这些第三方库几乎可以零配置的使用。

二、构建一个demo

1.开发环境搭建

1)首先从IDEA官网下载ideaIU-2024版本安装
https://www.jetbrains.com/idea/download/?section=windows
这个版本只有30天试用期,需要破解的话可以自行百度一下。
2)安装MySQL,由于我的系统是windows11,从MySQL官网下载的安装包无法安装成功,如果MySQL安装包能够安装成功,可以忽略下面步骤。
可以从以下地址下载MySQL压缩包。
https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.44-winx64.zip
解压把mysql-5.7.44-winx64里面文件拷贝到C:\Program Files\MYSQL\mysql-5.7.44目录中
并在该目录编写my.ini

[mysql]
# 设置mysql客户端默认字符编码形式
default-character-set=utf8mb4

[mysqld]
#跳过密码登录
skip-grant-tables
#设置端口号,默认3306
port = 3306
# 设置mysql的安装目录
basedir=C:\Program Files\MYSQL\mysql-5.7.44
# 设置mysql数据库的数据存放目录
datadir=C:\Program Files\MYSQL\mysql-5.7.44\data
# 设置最大连接数
max_connections=200
# 允许连接失败的次数
max_connect_errors=10
# 服务端使用的字符集默认为utf8mb4
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
#mysql_native_password
default_authentication_plugin=mysql_native_password

[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8mb4

打开cmd,在C:\Program Files\MYSQL\mysql-5.7.44\bin目录执行

mysqld --install "MySql" --defaults-file="C:\Program Files\MYSQL\mysql-5.7.44\my.ini"
mysqld --initialize
net start mysql

MySQL服务就成功启动了。

2.创建数据表

1)打开cmd,按以下步骤在MySQL中创建数据表users(当然也可以把MySQL设置到环境变量中)

cd C:\Program Files\MySQL\mysql-5.7.44\bin
mysql -uroot -proot
create database testdb;
use testdb;
CREATE TABLE users (id int NOT NULL,userName varchar(64) NOT NULL,password varchar(64) NOT NULL,sex varchar(16),telephone varchar(32),PRIMARY KEY (id)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

如下图:
在这里插入图片描述
2)插入数据
ideaIU提供了连接数据库工具,可以直接在ideaIU上连接数据库进行操作。在ideaIU右侧点击"Database"图标,然后点"+“,选择Data Source为MySQL,如下图:
在这里插入图片描述
然后会弹出MySQL的配置页面,输入User:root,Password:root,Database:testdb,其它可以不动,如下图:
在这里插入图片描述
点击“Test Connection”按钮测试连接数据库,显示连接成功。如下图:
在这里插入图片描述
然后选择"users"数据表,弹出users数据表操作界面,点击”+"增加记录,填写记录内容后点击"Submit"提交,如下图:
在这里插入图片描述

3.创建项目

点击ideaIU左上角"Main Menu"新建项目
在这里插入图片描述

输入项目名称demo,Type选择Maven,JDK选择合适的,其它可以不变。
在这里插入图片描述
选择Web里的Spring Web
在这里插入图片描述
注意Spring Boot为3.3.0时MyBatis Framework无法选择,所以要把Spring Boot改为3.2.6,然后SQL里选择MyBatis Framework和MySQL Driver。
在这里插入图片描述
把resources文件夹下的application.properties改名为application.yml,右键点击application.properties文件如下图所示操作:
在这里插入图片描述
在这里插入图片描述
双击application.yml文件修改配置信息,可以把以下内容直接拷贝进去,注意testdb为数据库名,3306为MySQL端口,username为MySQL用户名,password为MySQL密码。

server:
  port: 8088

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/testdb?serverTimezone=Asia/Shanghai&characterEncoding=utf-8
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver

mybatis:
  type-aliases-package: com.example.demo.bean

3.编写代码

右键点击"com.example.demo"文件夹,创建bean、controller、mapper、service四个Package。
在这里插入图片描述

分别在bean、controller、mapper、service下创建User.java、UserController.java、UserMapper.java、UserService.java、UserServiceImpl.java文件。
在这里插入图片描述
创建完成后目录结构如下:
在这里插入图片描述
我理解bean Package中应该是数据结构体类型定义,User.java跟users数据库内容保持一致,是users数据结构体类型定义,内容如下:

package com.example.demo.bean;

public class User {
    private String id;
    private String userName;
    private String password;
    private String sex;
    private String telephone;
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getTelephone() {
        return telephone;
    }

    public void setTelephone(String telephone) {
        this.telephone = telephone;
    }
}

controller Package中应该是处理前端的交互请求,UserController.java只实现了一个响应前端get /usr/selectAll请求的过程,内容如下:

package com.example.demo.controller;

import com.example.demo.bean.User;
import com.example.demo.service.UserService;
import com.example.demo.service.UserServiceImpl;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

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

@RestController
@RequestMapping("/user")
public class UserController {
    @Resource
    private UserService userService = new UserServiceImpl();

    @RequestMapping(value = "/selectAll", method = RequestMethod.GET)
    public List<User> selectAll() {
        List<User> list = userService.selectAll();
        return list;
    }
}

mapper Package中应该是数据库的交互操作,比如增删改查,UserMapper.java只实现了查询users数据表记录,内容如下:

package com.example.demo.mapper;

import com.example.demo.bean.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface UserMapper {
    @Select({
            "select",
            "id, userName, password, sex, telephone",
            "from users"
    })
    List<User> selectAll();
}

service Package中应该是业务的处理过程,UserService.java是一个service接口基类,内容如下:

package com.example.demo.service;

import com.example.demo.bean.User;

import java.util.List;

public interface UserService {
    public List<User> selectAll();
}

UserServiceImpl.java是UserService的派生类,实现查询用户信息的业务,如果不是数据库交互场景,比如是从其它服务器获取数据,也应该在这个类中实现业务,内容如下:

package com.example.demo.service;

import com.example.demo.bean.User;
import com.example.demo.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service("userService")
public class UserServiceImpl implements UserService{
    @Autowired
    private UserMapper userMapper;

    @Override
    public List<User> selectAll() {
        return userMapper.selectAll();
    }
}

3.测试验证

在resources的static目录下创建index.html文件,内容如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .result{
            position: fixed;
            width: 100%;
            bottom: 0;
            left: 0;
            height: 300px;
            background-color: rgba(0,0,0,.8);
            color: white;
            text-align: center;
            letter-spacing: 2px;
            padding-top: 20px;
            font-size: 18px;
            line-height: 28px;
            overflow: scroll;
        }
    </style>
</head>
<body>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<button style="display: block;margin: 20px auto;width: 160px;height: 60px;" onclick="getAll()">查看用户信息</button>
<div class="result" id="result"></div>
<script>
    function getAll(){
        $.ajax({
            type: "get",
            url: "user/selectAll",
            data: {
            },
            success:function (data) {
                console.log(data)
                $("#result").empty()
                for(var i = 0;i < data.length;i++){
                    $("#result").append(JSON.stringify(data[i]) + "<br>")
                }
            },
        });
    }
</script>
</body>
</html>

运行项目,然后在浏览器中打开“http://localhost:8088/”,点击“查看用户信息”,能够查到数据库中的记录,如下图所示:
在这里插入图片描述
按照前面介绍的方法直接在users数据表中增加一条记录,然后再点击一下“查看用户信息”就可以查到两条记录。


总结

本篇只是先用springboot创建一个简单demo,后续我们将在这个demo基础上进一步完善它,在此过程中来加深理解vue+springboot框架。

Spring BootVue-Element-Admin和MyBatis是一种常见的技术组合,用于构建现代化的Web应用程序。下面是一个简要的入门程。 1. 首先,我们需要设置Spring Boot项目。可以使用Spring Initializr(https://start.spring.io/)来初始化一个基本的Spring Boot项目。在依赖项中添加Spring Web、Spring Data JPA和MyBatis等必要的依赖项。 2. 在Spring Boot项目中,我们需要创建实体类和数据库表的映射。使用JPA注解来定义实体类,并使用MyBatis注解来指定数据库表的映射。 3. 接下来,我们需要创建一个数据访问层(DAO)来处理与数据库的交互。使用MyBatis的注解或XML映射文件来定义SQL查询和操作。 4. 在Service层,编写业务逻辑代码来处理DAO返回的数据,并与其他组件进行交互。 5. 在Controller层,处理HTTP请求和响应,将数据传递给前端页面或接收前端发送的数据。使用Spring MVC注解来定义请求映射和参数解析。 6. 在前端方面,可以使用Vue-Element-Admin来构建用户界面。Vue是一种流行的JavaScript框架,用于构建灵活的单页面应用程序。Element-Admin是一个基于Vue的组件库,提供了丰富的UI组件和布局。 7. 在Vue-Element-Admin中,我们可以使用Vue Router来实现页面之间的导航和路由。使用axios来发送HTTP请求与后端进行数据交互。 8. 在Vue组件中,我们可以通过调用后端的API来获取数据并渲染到前端页面上。使用Element-Admin提供的布局和UI组件来美化页面。 通过上述步骤,我们可以实现一个基本的Spring BootVue-Element-Admin和MyBatis的入门程。这个程可以帮助初学者了解如何搭建和使用这个技术组合来构建现代化的Web应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值