首页 > 其他分享 >今日指数day01学习笔记

今日指数day01学习笔记

时间:2024-06-01 20:00:17浏览次数:13  
标签:spring day01 boot 笔记 学习 version com starter stock

1、项目概述

        该项目是基于股票实时交易的数据分析产品,为用户和机构提供个性化的股票数据分析和展示服务

        核心功能:数据分析和展示为主,功能涵盖了A股大盘实时指数展示、涨幅榜、个股涨跌、个股秒级行情、实时日K线行情等

2、股票相关名词

        股票:股份证书的简称;

        股票分类:A股-人民币普通股票

                          B股-人民币特种股票

        个股指标参数:开盘价、收盘价、当前价、涨跌值、涨跌幅度(涨幅)、涨停与跌停、振幅、成交量、成交金额、股票编码。

        个股K线图:日k线图、周k线图、月K图

        大盘指数:整体反应了股市的行情信息

        板块指数:更加细粒度的反应具体某个行业股市的活跃程度

3、项目架构     

技术选型,如下图:

  • 前端

                基本骨架:vue-cli+vue+element+axios

                报表:echartsjs

                前端支持:node webpack

  • 后端

                基础框架:SpringBoot、Mybatis、SpringMVC

                安全框架:SpringSecurity+Jwt+Token

                缓存:Redis+SpringCache

                excel表格导出:EasyExcel

                小组件:Jode-Time 、hutool 、Guava 、HttpClient | RestTemplate 、线程池

                定时任务:Xxljob

                分库分表:Sharding-JDBC

                前端资源部署:Nginx+Linux

核心业务详情:

  • 股票采集系统

    • 核心功能是周期性采集股票数据,并刷入数据库;

    • 借助xxljob提供完善的任务监控机制;

  • 国内指数服务

    • 主要统计国内大盘实时数据信息;

  • 板块分析服务

    • 主要统计国内各大行业板块行情数据信息;

  • 涨幅榜展示功能

    • 根据个股涨幅排序,提供热点股票数据展示;

  • 涨停跌停数展示功能

    • 统计股票涨停跌停的数量;

  • 成交量对比展示功能

    • 综合对比真个股市成交量的变化趋势;

  • 个股详情展示功能

    • 包含分时行情、日k线、周K线图、个股描述服务等

  • 报表导出服务

    • 根据涨幅排序导出热点股票数据信息;

  • 其它

    • 用户信息管理;

    • 角色管理;

    • 权限管理等

4、开发流程

5、数据库环境搭建

        在MobaXterm中使用docker搭建数据库容器具体代码如下:

docker run 
--restart=always 
-p 3306:3306 
--name mysql 
-v /tmp/mysql/data:/var/lib/mysql  
-e MYSQL_ROOT_PASSWORD=root 
-e TZ=Asia/Shanghai 
-d mysql:5.7.25  
--character-set-server=utf8mb4 
--collation-server=utf8mb4_unicode_ci 
--default-time_zone='+8:00'

创建stock-db数据库,并设置编码为utf8mb4,然后导入stock.sql。

6、后端工程搭建

基于maven创建stock_parent父工程

在settings的file encoding中将编码改为utf-8

在pom文件中引入依赖

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.itheima.stock</groupId>
    <artifactId>stock_parent</artifactId>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>stock_common</module>
        <module>stock_backend</module>
        <module>stock_job</module>
    </modules>
    <packaging>pom</packaging>
    <description>
        该工程为股票项目的父工程,作用:
        1.聚合若干子工程,统一管理子工程的生命周期
        2.统一管理资源依赖的版本(版本锁定)
        3.统一管理插件的版本依赖
        4.统一导入公共的依赖资源等
    </description>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <maven.surefire.version>2.12.4</maven.surefire.version>
        <mybatis-spring-boot-starter.version>2.1.4</mybatis-spring-boot-starter.version>
        <pagehelper-spring-boot-starter.version>1.2.12</pagehelper-spring-boot-starter.version>
        <mysql-driver.version>5.1.49</mysql-driver.version>
        <fastjson.version>1.2.71</fastjson.version>
        <springfox-swagger2.version>2.9.2</springfox-swagger2.version>
        <druid-spring-boot-starter.version>1.1.22</druid-spring-boot-starter.version>
        <druid-core-version>1.2.8</druid-core-version>
        <sharding-jdbc.version>4.0.0-RC1</sharding-jdbc.version>
        <jjwt.version>0.9.1</jjwt.version>
        <easyExcel.version>3.0.4</easyExcel.version>
        <xxl-job-core.version>2.3.0</xxl-job-core.version>
        <spring-boot.version>2.5.3</spring-boot.version>
        <joda-time.version>2.10.5</joda-time.version>
        <google.guava.version>30.0-jre</google.guava.version>
        <knif4j.version>2.0.2</knif4j.version>
        <hutool.version>5.7.21</hutool.version>
    </properties>
    <!--依赖资源的版本锁定-->
    <dependencyManagement>
        <dependencies>
            <!--引入springboot依赖-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-parent</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <!--将springboot中锁定的资源依赖与当前工程锁定的资源依赖进行合并-->
                <scope>import</scope>
            </dependency>
            <!--引入mybatis场景依赖-->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>${mybatis-spring-boot-starter.version}</version>
            </dependency>
            <!--pageHelper场景依赖-->
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper-spring-boot-starter</artifactId>
                <version>${pagehelper-spring-boot-starter.version}</version>
            </dependency>
            <!--mysql驱动包-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>${mysql-driver.version}</version>
            </dependency>
            <!--shardingjdbc分库分表-->
            <dependency>
                <groupId>org.apache.shardingsphere</groupId>
                <artifactId>sharding-jdbc-spring-boot-starter</artifactId>
                <version>${sharding-jdbc.version}</version>
            </dependency>
            <!--json工具包-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${fastjson.version}</version>
            </dependency>
            <!--druid-boot依赖-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>${druid-spring-boot-starter.version}</version>
            </dependency>
            <!--druid core-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>${druid-core-version}</version>
            </dependency>
            <!--引入jwt依赖-->
            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt</artifactId>
                <version>${jjwt.version}</version>
            </dependency>
            <!-- 导出 excel -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>easyexcel</artifactId>
                <version>${easyExcel.version}</version>
            </dependency>
            <!--xxl-job定义任务框架支持-->
            <dependency>
                <groupId>com.xuxueli</groupId>
                <artifactId>xxl-job-core</artifactId>
                <version>${xxl-job-core.version}</version>
            </dependency>
            <!--时间小工具-->
            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>${joda-time.version}</version>
            </dependency>
            <!--引入google的工具集-->
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${google.guava.version}</version>
            </dependency>

            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>${springfox-swagger2.version}</version>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>${springfox-swagger2.version}</version>
            </dependency>

            <!--knife4j的依赖-->
            <dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>knife4j-spring-boot-starter</artifactId>
                <version>${knif4j.version}</version>
            </dependency>

            <!--hutool万能工具包-->
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-all</artifactId>
                <version>${hutool.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <!--管理插件-->
    <build>
        <!--引入插件的版本锁定-->
        <pluginManagement>
            <plugins>
                <!--Springboot核心插件-->
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <version>${spring-boot.version}</version>
                    <executions>
                        <execution>
                            <goals>
                                <!--防止打包时出现找不到springboot启动类的情况-->
                                <goal>repackage</goal>
                            </goals>
                        </execution>
                    </executions>
                    <configuration>
                        <excludes>
                            <!--插件运行时排除依赖-->
                            <exclude>
                                <groupId>org.springframework.boot</groupId>
                                <artifactId>spring-boot-configuration-processor</artifactId>
                            </exclude>
                        </excludes>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>

</project>

      构建common工程

标签:spring,day01,boot,笔记,学习,version,com,starter,stock
From: https://blog.csdn.net/qq_56937026/article/details/139372626

相关文章

  • Redis笔记——底层数据结构之压缩列表
    是什么?        本质上就是紧凑的列表。        压缩列表在Redis中有两种编码方式,分别是ZIPLIST与LISTTPACK。LISTPACK从Redis5.0引入,直至Redis7.0完全替换了ZIPLIST,可以看作是ZIPLIST的进阶版。有什么作用?        在List文章中,提......
  • STM32学习笔记(二)流水灯
    STM32学习笔记(二)流水灯一、原理部分1.1LED原理1.2GPIO原理二、工程部分三、加入宏定义这次我们来实现LED流水灯成为点灯大师。使用的核心板的MCU型号为STM32F103ZET6,使用标准库函数来实现。一、原理部分1.1LED原理其中PWR是系统电源指示灯,为蓝色。LED0......
  • Python3 学习_基础篇:(一)安装程序、搭建环境
    文章目录学习目标:1.会下载、安装Python;2.会下载、安装PyCharm。学习内容:一、Python的下载和安装(一)下载(二)安装(三)测试二、pycharm的下载和安装(一)下载(二)安装(三)首次启动程序(四)简单配置、运行第一个程序学习目标:1.会下载、安装Python;2.会下载、安装PyCharm。学习内......
  • 通过强化学习彻底改变大型数据集特征选择
    文章目录一、说明二、强化学习:特征选择的马尔可夫决策问题三、用于使用强化学习进行特征选择的python库3.1.数据预处理3.2.安装和导入FSRLearning库四、结论和参考文献一、说明  了解强化学习如何改变机器学习模型的特征选择。通过实际示例和专用的Python......
  • 《C++primer》读书笔记---第九章:顺序容器
    9.1顺序容器概述下表列出了标准库的顺序容器,所有容器都提供了快速顺序访问元素的能力:多种容器中,通常使用vector是最好的选择,除非你有很好的理由选则其他容器。以下是一些选择容器的基本原则:除非你有很好的理由选择其他容器,否则选择vector如果你的程序有很多小的元素,且空......
  • flex学习
    1.flex布局:三行三列<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>flex布局:三行三列&......
  • MyBatis系统学习篇 - 分页插件
    MyBatis是一个非常流行的Java持久层框架,它简化了数据库操作的代码。分页是数据库查询中常见的需求,MyBatis本身并不直接支持分页功能,但可以通过插件来实现,从而帮助我们在查询数据库的时候更加方便快捷引入依赖<dependency><groupId>com.github.pagehelper</groupId>......
  • 【Python爬虫--scrapy+selenium框架】超详细的Python爬虫scrapy+selenium框架学习笔记
    六,selenium想要下载PDF或者md格式的笔记请点击以下链接获取python爬虫学习笔记点击我获取Scrapy+selenium详细学习笔记点我获取Python超详细的学习笔记共21万字点我获取1,下载配置##安装:pipinstallselenium##它与其他库不同的地方是他要启动你电脑上的浏览器......
  • 【Python--openCV图像处理】Python学习-OpenCV图像处理基础超详细的学习笔记(黑马程序
    一,openCV基础说明:笔记是跟着B站黑马程序员的openCV课程时做的课程资料可以在黑马程序员评论区获取1,图像基本操作1-1图像基础操作1-1-1安装相关库pipinstallopencv-pythonpipinstallopencv-contrib-python##尽量保持两个库安装的版本,比如我都是4.9.0.80ope......
  • 00_Zotero学习资料汇总
    Zotero学习资料汇总目录页1.学习地址1.学习地址学习地址如下学习地址名称资源地址Zotero中文小组帮助文档https://zotero-chinese.com/科研学帮帮公众号作者的网站​Zotero7使用教程知乎https://zhuanlan.zhihu.com/p/68......