精华内容
下载资源
问答
  • 图片图片图片图片图片图片图片
  • SpringBoot项目实战(一)

    千次阅读 2020-08-07 15:52:28
    实战项目,是一个B2C模式的职业技能在线教育系统,分为前台用户系统和后台运营平台。前台用户系统包括课程、问答、文章三大部分。后台运营平台包括会员管理、讲师管理、课程管理、文章资讯、统计分析等系统功能。 ...

    SpringBoot实战之系统架构

    1.系统介绍

    该实战项目,是一个B2C模式的职业技能在线教育系统,分为前台用户系统和后台运营平台。前台用户系统包括课程、问答、文章三大部分。后台运营平台包括会员管理、讲师管理、课程管理、文章资讯、统计分析等系统功能。

    1.系统技术架构。

    • 前后端分离
    • 后端的主要技术架构是:SpringBoot + SpringCloud + MyBatis-Plus + MySQL+Swagger2
    • 前端的架构是:Node.js + Vue.js + Nuxt
    • 使用了阿里云OSS、阿里云视频点播、微信登录、ECharts图表展示,使用POI进行Excel解析。

    2.系统模块

    在这里插入图片描述

    3.系统架构

    架构设计需要考虑的几个方面:

    • 性能:主要考虑访问频率,每个用户每天的访问次数。项目初始阶段用户的访问量并不大,如果考虑做运营推广,可能会迎来服务器访问量骤增,因此要考虑分布式部署,引入缓存
    • 可扩展性:系统功能会随着用户量的增加以及多变的互联网用户需求不断地扩展,因此考虑到系统的可扩展性的要求需要使用微服务架构,引入消息中间件
    • 高可用:系统一旦宕机,将会带来不可挽回的损失,因此必须做负载均衡,甚至是异地多活这类复杂的方案。如果数据丢失,修复将会非常麻烦,只能靠人工逐条修复,这个很难接受,因此需要考虑存储高可靠。我们需要考虑多种异常情况:机器故障、机房故障,针对机器故障,我们需要设计MySQL 同机房主备方案;针对机房故障,我们需要设计 MySQL 跨机房同步方案。
    • 安全性:系统的信息有一定的隐私性,例如用户的个人身份信息,不包含强隐私(例如玉照、情感)的信息,因此使用账号密码管理、数据库访问权限控制即可。
    • 成本:视频类网站的主要成本在于服务器成本、流量成本、存储成本、流媒体研发成本,中小型公司可以考虑使用云服务器和云服务。
      在这里插入图片描述
    展开全文
  • Springboot项目实战入门(一)

    千次阅读 2020-06-28 11:03:36
    (1)创建Springboot项目 File-》New Project-》Spring Initializr,填写完项目有关信息后,一定要注意,选择以下模板: 注意:一般项目创建后Maven会自动下载依赖,如果出现下载很慢的情况(说明是外网下载),推荐...

    最近看了很多Springboot的教学视频,感觉都太长了,而且没有项目的实战。今天根据一个博客主写一个实现增删改查的简单用户系统,源码可以参考第二期的文章。本次项目搭建使用Springboot+Mybatis+Mysql。第一期只实现用户登录的功能。

    (1)创建Springboot项目

    File-》New Project-》Spring Initializr,填写完项目有关信息后,一定要注意,选择以下模板:模板选择

    注意:一般项目创建后Maven会自动下载依赖,如果出现下载很慢的情况(说明是外网下载),推荐采用阿里云镜像,配置方法自行百度。

    (2)连接数据库

    idea中有连接数据库的功能,连接数据库后会获得数据库的信息,就可以不用打开数据库服务端了。具体操作如下:
    在这里插入图片描述
    连接数据库时填写:
    数据库连接
    连接成功可以看到:
    成功
    项目连接数据库的配置文件编写:数据库连接后还需要将数据库数据导入项目,配置文件(我比较喜欢yml配置,所以将全局配置文件application.properties改为yml后缀)编写如下:
    数据库连接
    注意:数据库的表需要自己先建好,然后填写自己数据库的信息与端口。本人使用的是3305端口,与默认的3306不一致。

    (3)搭建项目结构

    由于一般项目需要采用MVC架构,项目架构搭建如下:
    项目文件xin01搭建展示:
    src
    资源文件resources搭建展示:
    资源
    pom配置文件展示(填写mysql连接jar包的版本):

    <?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.3.1.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.huang</groupId>
        <artifactId>xin01</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>xin01</name>
        <description>Demo project for Spring Boot</description>
    
        <properties>
            <java.version>1.8</java.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-jdbc</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-thymeleaf</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>2.1.3</version>
            </dependency>
    
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.26</version>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
    <!--            <exclusions>-->
    <!--                <exclusion>-->
    <!--                    <groupId>org.junit.vintage</groupId>-->
    <!--                    <artifactId>junit-vintage-engine</artifactId>-->
    <!--                </exclusion>-->
    <!--            </exclusions>-->
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>

    一般会自动创建,注意这里由于有一个冲突,注释了test的某个标签。

    注意:没有的文件自己创建,千万不能漏文件或者写错文件名称。

    (4)具体代码编写

    1.前端页面html编写
    error.html

    <!--登录失败页面-->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>error</title>
    </head>
    <body>
    <h1>登录失败!</h1>
    </body>
    </html>

    index.html

    <!--首页-->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        你好springboot,这是XXX的第一个springboot项目。
    </body>
    </html>

    login.html(这个前端页面需要提交表单数据,较为重要)

    <!--登录页面-->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>login</title>
    </head>
    <body>
    <!--实现表单提交-->
    <form role="form" action = "/loginIn" method="post">
        账号:<input type="text" id="name" name = "name"> <br>
        密码:<input type="password" id = "password" name = "password"> <br>
        <input type="submit" id = "login" value = "login">
    </form>
    </body>
    </html>

    success.html

    <!--登录成功页面-->
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>success</title>
    </head>
    <body>
    <h1>登录成功!</h1>
    </body>
    </html>

    2.UserBean类编写
    UserBean

    package com.huang.xin01.bean;
    
    /*
    用户实体类,对应数据库的user表
     */
    public class UserBean {
        private int id;
        private String name;
        private String password;
    
        public int getId() {
            return id;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getPassword() {
            return password;
        }
    
        public void setPassword(String password) {
            this.password = password;
        }
    
        @Override
        public String toString() {
            return "UserBean{" +
                    "id=" + id +
                    ", name='" + name + '\'' +
                    ", password='" + password + '\'' +
                    '}';
        }
    }

    3.HelloController类、LoginController类编写
    HelloController

    package com.huang.xin01.controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    /*
    首页控制层
     */
    @Controller
    public class HelloController {
        @RequestMapping("/index")
        public String hello(){
            return "index";
        }
    }

    LoginController

    package com.huang.xin01.controller;
    
    import com.huang.xin01.bean.UserBean;
    import com.huang.xin01.service.UserService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.stereotype.Service;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    
    /*
    登录功能的控制层
     */
    @Controller
    public class LoginController {
        //调用userService,并且将其放入容器防止耦合
        @Autowired
        UserService userService;
        //登录页面
        @RequestMapping("/login")
        public String show(){
            return "login";
        }
        //表单按照post提交后的控制
        @RequestMapping(value = "/loginIn",method = RequestMethod.POST)
        public String login(String name,String password){
            UserBean userBean = userService.loginIn(name,password);
            if(userBean!=null){
                return "success";
            }else{
                return "error";
            }
    
        }
    }

    4.UserMapper接口、UserMapper.xml配置文件、application.yml全局配置文件编写
    UserMapper

    package com.huang.xin01.mapper;
    
    import com.huang.xin01.bean.UserBean;
    import org.springframework.stereotype.Repository;
    /*
    Dao层,负责数据库的接口,具体通过Mybatis配置文件实现
     */
    //@Repository
    public interface UserMapper {
        UserBean getInfo(String name,String password);
    }

    UserMapper.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
    <!--Dao层的具体实现,采用Mybatis-->
    <mapper namespace="com.huang.xin01.mapper.UserMapper">
        <select id="getInfo" parameterType="String" resultType="com.huang.xin01.bean.UserBean">
            SELECT * FROM user WHERE name = #{name} AND password = #{password}
        </select>
    
    </mapper>

    application.yml

    spring:
      datasource:
        name: xin1
        url: jdbc:mysql://localhost:3305/xin1
        username: root
        password: root
        driver-class-name: com.mysql.jdbc.Driver
    #利用jdbc连接数据库
    
    
    mybatis:
      mapper-locations: classpath:mapper/UserMapper.xml
      type-aliases-package: com.huang.xin01.bean
    #指定mybatis扫描的xml文件

    5.UserService接口、UserServiceImpl类编写
    UserService

    package com.huang.xin01.service;
    
    import com.huang.xin01.bean.UserBean;
    import org.springframework.stereotype.Repository;
    
    /*
    服务层接口,具体由serviceImpl类实现
     */
    //@Repository
    public interface UserService {
        UserBean loginIn(String name,String password);
    }

    UserServiceImpl

    package com.huang.xin01.service.serviceImpl;
    
    import com.huang.xin01.bean.UserBean;
    import com.huang.xin01.mapper.UserMapper;
    import com.huang.xin01.service.UserService;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    
    /*
    服务层,调用Dao层实现登录功能
     */
    @Service
    public class UserServiceImpl implements UserService {
    
        @Autowired
        private UserMapper userMapper;
        @Override
        public UserBean loginIn(String name, String password) {
            return userMapper.getInfo(name, password);
        }
    }

    6.启动类Xin01Application类修改(加上注解@MapperScan(“com.huang.xin01.mapper”))
    Xin01Application

    package com.huang.xin01;
    
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    /*
    项目的启动程序,必须加上@MapperScan注解扫描mapper配置文件
     */
    @SpringBootApplication
    @MapperScan("com.huang.xin01.mapper")
    public class Xin01Application {
    
        public static void main(String[] args) {
    
            SpringApplication.run(Xin01Application.class, args);
        }
    
    }

    7.测试类Xin01ApplicationTests编写(test包里的)
    Xin01ApplicationTests

    package com.huang.xin01;
    
    import com.huang.xin01.bean.UserBean;
    import com.huang.xin01.service.UserService;
    import org.junit.jupiter.api.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    
    /*
    测试类,发现依赖的exclusions与RunWith冲突,已经注释
     */
    @RunWith(SpringRunner.class)
    @SpringBootTest
    class Xin01ApplicationTests {
    
        @Autowired
        UserService userService;
        @Test
        void contextLoads() {
            UserBean userBean = userService.loginIn("huang","huang");
            System.out.println("该用户id为"+userBean.getId());
    
        }
    
    }

    (5)项目测试

    注意:有些版本对于@Autowired注解会报红,可以选择设置
    解决
    推荐将这个改动变为默认设置。
    1.test测试
    运行Test方法,观察控制台输出结果,正确如下:
    在这里插入图片描述
    2.项目测试
    运行启动程序,在浏览器输入localhost:8080/login效果如下:
    在这里插入图片描述
    登录成功
    在这里插入图片描述

    总结

    由于每个人各种配置的版本不同,可能会存在一些小问题,欢迎大家把这些问题提出在评论区,博主会尽快回答。

    展开全文
  • QQ 1274510382 Wechat JNZ_aming 商业互捧 QQ群538250800 技术搞事 QQ群599020441 技术合作 QQ群152889761 加入我们 QQ群649347320 纪年科技aming 网络安全 ,深度学习,嵌入式,机器强化,生物智能,生命科学。...

    在这里插入图片描述

    QQ 1274510382
    Wechat JNZ_aming
    商业互捧 QQ群538250800
    技术搞事 QQ群599020441
    技术合作 QQ群152889761
    加入我们 QQ群649347320
    纪年科技aming
    网络安全 ,深度学习,嵌入式,机器强化,生物智能,生命科学。


    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • VO可能跨多个PO(vo包括多个po,vo指的是前端需要什么我写什么)

    在这里插入图片描述在这里插入图片描述 在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
    在这里插入图片描述在这里插入图片描述在这里插入图片描述

    VO可能跨多个PO(vo包括多个po,vo指的是前端需要什么我写什么)

    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

    展开全文
  • springboot实战项目视频 +springcloud全套教学视频。无视频密码锁, 下载了直接学习。
  • Vue+SpringBoot项目实战(一) 搭建环境

    千次阅读 2020-09-19 07:29:28
    GitHub 地址: ...前言 越往高级工程师发展,越...我的目标是做教程,让刚接触Vue和SpringBoot的小伙伴们,能通过教程动手把项目做出来。 若有疑问,欢迎评论。水平有限,若有纰漏,敬请谅解。 一、项目简介 命名 项.
  • QQ 1274510382 Wechat JNZ_aming 商业互捧 QQ群538250800 技术搞事 QQ群599020441 技术合作 QQ群152889761 加入我们 QQ群649347320 纪年科技aming 网络安全 ,深度学习,嵌入式,机器强化,生物智能,生命科学。...
  • java语言,SpringBoot,详细的SpringBoot实战与原理分析视频,你值得拥有
  • SpringBoot企业实战.pdf

    2019-06-02 07:18:46
    SpringBoot实战,对于初学者十分有用,希望可以帮助爱学习的你
  • 1.@Pointcut(“execution()”)中匹配规则问题 springboot 项目 @Pointcut(execution(* com.xyj.blog.web.*.*(..))) 2.LogAspect类(主要作用记录访问者ip,url) package com.xyj.blog.aspect; import org.aspectj...
  • (一)SpringBoot基本操作——环境搭建及项目创建(有demo) (二)SpringBoot基本操作——使用IDEA打war包发布及测试 (三)SpringBoot基本操作——SpringBoot整合SpringDataJpa(有demo) (四)SpringBoot基本...
  • springboot项目开发实战

    2021-06-16 15:55:59
    文章目录springboot项目开发实战之后端流程详解一、创建简单的springboot之web项目1、简单springboot框架环境搭建2、相关jar包的导入3、配置文件yaml的设置4、框架结构的梳理如过滤器和拦截器5、代码结构的书写1)...
  • ** 手敲不易,各位老板,打赏一下 ** 链接:https://pan.baidu.com/s/19_35wIZ5arhpZLPyXeEMoA 提取码:pjbg 复制这段内容后打开百度网盘手机App,操作更方便哦
  • SpringBoot项目实战】物流运输管理系统
  • 在上一期中,SpringBoot项目实战杂货铺登录功能(二)杂货铺更新了登录功能,今天带来注册功能页面,在注册界面中加入了邮箱绑定,以及头像的设置。 我们由登录界面点击去注册,切换到注册模块的div: 账号根据...
  • 4? 第1章会对Spring Boot进行概述,内容涵盖最基本的自动配置、起步依赖、命令行界面和Actuator。? 第2章会进一步深入Spring Boot,重点介绍自动配置和起步依赖。在这一章里,你将用很少的显式配置来构建一个完整的...
  • 3)IDEA创建父项目项目依赖管理。 4)IDEA创建子项目。 4.1)pom.xml依赖 junit junit 4.11 test org.springframework.boot spring-boot-dependencies 2.5.2 pom provided org.projectlombok lombok mysql mysql...
  • vue + springboot 项目实战

    千次阅读 2020-07-01 16:11:29
    项目前端地址 项目后端地址 直接上效果图: 效果图还不错吧,这是有地图可视化,富文本,图表数据的项目,直接开源,分享给小伙伴,有着简单的API,只是很简单,作者的表达...
  • springboot项目实战笔记

    2019-04-07 10:46:03
    @RequestMapping(@RequrstParam(startTime) Date startTime,@RequrstParam(endTime) Date endTime ) @RequestMapping(@RequestBody Map<String,Object>map){String b=map.get("请求的参数的键名")....
  • SpringBoot实战(第4版)》
  • b) 实例中:在项目中,项目成员可以对项目中上传文档,查看本项目的文档,可以通过对项目设置一个对于本项目的浏览权来实现进口,这样每个成员能访问这个项目了,再加上项目文档的上传权和查看文档权即可。...
  • 准备开始一个新的坑,完整的搭建一个SpringBoot项目。从头开始一步一步的记录下来,时间可能有点长,但我会尽可能的保证细节到位,不会挖坑不填的(@盗墓笔记)。 项目分析 一个完整的项目应该从以下的几个方面...
  • SpringBoot实战.pdf 高清带书签 SpringBoot实战.pdf 高清带书签
  • 课程项目在线体验地址 ...springboot、redis、jwt、spring security 2.适合人群 有html、css3、js、vue、spring boot基础,想学习vue-element-admin开发后台管理系统的在校大学生、工作人员
  • 项目是基于Springboot实战项目项目进行了前后端分离开发,非常适合刚接触或者对SpringBoot感兴趣的朋友们学习。
  • redis 缓存数据 个人商城系统为提升访问速度,可将不经常...– springboot配置文件 application.yml 中添加redis配置文件 redis: host: localhost port: 6379 timeout: 3 poolMaxTotal: 10 poolMaxIdle: 10 ...
  • SpringBoot+vue项目实战

    千次阅读 2020-07-18 20:51:30
    目录 前言: 技术准备 开发流程 项目展示 ...项目学习地址,点击了解:https://how2j.cn ...天猫整站 Springboot 版本,就是这样一个实践项目。 我会带着大家,从零开始,把整个项目...本项目使用 Springboot 框架进行系统
  • 作为一个一直以来都是使用ssm、ssh、struts这些老技术的程序猿,深感自己马上就要落后,与时代脱轨,尤其所在的公司属于传统互联网公司,新框架的项目不是特别多,想着花时间好好的学习一下Springboot。边学习,边出...
  • Vue+SpringBoot实现前后端分离 源码: 前端项目代码 后端项目代码 前端 一、安装Vue 安装Node.js 先在自己的电脑上安装Node.js,这里就不过多赘述了,毕竟网上的资源有很多,可以自行百度 npm install vue ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 33,176
精华内容 13,270
关键字:

springboot项目实战

spring 订阅
友情链接: ActiveXCreate.rar