1. 京淘我的项目架构设计
1.1 互联网行业特点
- 高并发
- 分布式 服务器数量调配平衡
- 海量数据处理 采纳更加高效的形式进行数据处理 大数据方向 java 开发岗位 要求大数据相干技术.
- 安全性问题: 网贷 (11%) 交易的安全性(区块链)
阿里风控系统:
1. 手机号是否变更
2. 交易明码是否变更
3. 银行交易是否频繁
4. 交易之间的单方是否有资金往来…
5. 交易单方是否为好友关系.
1.2 京淘我的项目架构设计
1.3 导入数据库
1.3.1 装置 SqlYog
1.3.2 导入数据库
1. 命令: 进入数据库客户端执行 source 文件门路 /xxx.sql;
2. 利用工具导入:
2.IDEA 环境配置
1. 设定主动保留
2. 键位设置
3. SpringBoot 增强
3.1 对于 maven 阐明
3.1.1 对于 maven 动静依赖的阐明
原理阐明:
- 当通过 pom.xml 文件增加依赖项时,maven 会工具坐标查找 jar 包文件.
- 当加载 jar 包实现之后, 会解析以后的 POM.xml 文件, 如果其中还有 jar 包的依赖项吗, 则再次解析加载 jar 包.
最终实现 jar 包传递性的实现.
3.1.2 jar 包文件传输规定
SHA1 介绍:
SHA-1(英语:Secure Hash Algorithm 1,中文名:平安散列算法 1)是一种明码散列函数,美国国家安全局设计,并由美国国家标准技术研究所(NIST)公布为联邦数据处理规范(FIPS)。SHA- 1 能够生成一个被称为 音讯摘要 的 160 位(20 字节)散列值,散列值通常的出现模式为 40 个十六进制数。
音讯摘要信息: 对原有的数据进行 hash 计算失去的后果称之为摘要信息.
通过摘要信息比照是否统一, 能够判断数据是否平安.
常识回顾:
- 如果同一个数据进行 hash 计算 问: 后果是雷同的
3.2 对于配置文件阐明
3.2.1 parent 标签作用
<!--
作用 1: parent 标签 集中定义了 SpringBoot 所有依赖 jar 包的版本信息.
由官网解决了 jar 包冲突性问题.
作用 2: 本地仓库中没有该文件的 jar 包 parent 示意的是一个聚合工程(定义).
-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
3.2.2 对于 Maven 命令执行
1. 清空 target 文件
2. 编译我的项目
3. 我的项目打包操作
3.2.3 对于 pro 文件阐明
<!--maven 我的项目配置信息 -->
<properties>
<!-- 指定了 jdk 版本信息 -->
<java.version>1.8</java.version>
<!--
跳过测试类打包
默认条件下程序打包会执行测试了类 如果测试类有问题, 则程序打包失败.
-->
<skipTests>true</skipTests>
</properties>
3.2.4 对于依赖项的阐明
开箱即用!!!
<dependencies>
<!--
手动依赖项 该依赖项被 springBoot 进行了高度的整合
springBoot 帮忙大家动静的生成了配置我的项目, 简化了配置的步骤
该配置称之为自动化的配置信息
spring-boot-starter springBoot 自动化的启动项.
开箱即用: 只须要导入 jar 包简略的配置即可实现对应的性能.
-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</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>
3.2.5 对于 build 标签作用
我的项目运行命令 dos:
java -jar xxx.jar
<!--
SpringBoot 利用 maven 管理工具进行我的项目打包 / 公布 / 等操作
该标签必须增加
-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
3.3 对于 SpringBoot 我的项目启动流程阐明
3.3.1 对于元注解的阐明
1.@Target(ElementType.TYPE) 标识注解对谁无效. 该注解示意对类无效.
2.@Retention(RetentionPolicy.RUNTIME) 标识注解的有效期 在运行时无效. 个别都写 runtime
3.@Documented 动静生成文档文件.
4.@Inherited 是否容许子注解继承该注解.