1、京淘项目说明
1.1知识点概述
1)springboot框架使用(springMVC ,spring,mybatis,mybatis plus),自己动手完成代码
2)京淘项目的架构设计思想, 如何让系统稳定的运行。软件不行,硬件部。
3)学习企业中不同的项目之间如何进行交互。Ajax/跨域思想/HttpClient业务调用/Dubbo
4)完成项目企业实践:将自己的项目部署到服务器中(Linux),通过域名直接访问
5)概念(什么是什么?)重点理解核心代码(编程思维:自己思考问题的思路)代码可以不写,业务思路必须准确了解。(面试必备技能)
1. 2京淘项目架构
常识
1)tomcat服务器并发能力 没有调优:150-220次/秒 大约200次/秒
JVM调优:1000次/秒
2)mysql数据库能够支持的最大的并发链接数:1000 (一秒内可能做多次操作)
1.3 PD软件
1.3.1 PD介绍
PowerDesigner最初由Xiao-Yun Wang(王晓昀)在SDP Technologies公司开发完成。PowerDesigner是Sybase的企业建模和设计解决方案,采用模型驱动方法,将业务与IT结合起来,可帮助部署有效的企业体系架构,并为研发生命周期管理提供强大的分析与设计技术。PowerDesigner独具匠心地将多种标准数据建模技术(UML、业务流程建模以及市场领先的数据建模)集成一体,并与 .NET、WorkSpace、PowerBuilder、Java™、Eclipse 等主流开发平台集成起来,从而为传统的软件开发周期管理提供业务分析和规范的数据库设计解决方案。此外,它支持60多种关系数据库管理系统(RDBMS)/版本。PowerDesigner运行在Microsoft Windows平台上,并提供了Eclipse插件。
1.3.2安装PD
1)双击运行安装
选择地址: (PRC) 之后一路下一步安装即可。
2)破解软件
3)选择数据库模式
之后选择mysql 5.0数据库即可
4)关于面板工具说明
1.4 关于数据库表设计
设计原则:考虑问题时,一定要站在一头考虑。常用的关联关系:主外键关联
主外键设计原则:我自己的主键可以充当别人的外键。
核心常识:主键不能重复,外键可以重复。
1.4.1一对一
业务场景:用户表(user)用户详情表(user——info)
表关系:一个用户对应一个用户详情 :一对一
一个用户详情表对应一个用户:一对一
1.4.2 一对多
业务场景:员工和部门
表分析:一个员工对应一个一个部门
一个部门对应多个员工
1.4.3多对多
业务场景:角色和权限
分析:一个角色对应多个权限
一个权限对应多个角色
1.5京淘项目的表设计
1.6数据库导入
1)链接数据库
2)导入数据库
2 京淘项目环境搭建
2.1 IDEA环境搭配
2.1.1 lomok安装
2.1.2 键位 控制字母缩放
2.1.3 编辑字母配置
2.1.4 自动编译
2.1.5设定自动保存
2.1.6 maven配置
1)配置maven
2)私服镜像地址
aliyun
aliyun for maven
*
https://maven.aliyun.com/repository/public
2.1.7 修改Idea字符集编码格式
2.2 springboot入门案例
2.2.1创建项目
2.2.2添加jar包依赖
2.3 关于Maven jar包管理机制
2.3.1 maven作用
Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven是一站式的项目管理软件,主要功能:项目的创建、jar包管理、项目打包/发布/部署等功能。
2.3.2 maven命令说明
java编译过程:.java文件----.class 文件 ----c语言才能执行。。。–打包—(.class文件) .jar文件.
1)clean 清空maven的target目录
2)compile 通过命令,maven将.java文件转换为.class文件
3)install 将项目打包部署,将项目动态地在target和本地仓库中进行存储。
2.3.3 项目坐标和jar包的关系
知识补充:中央仓库如何管理jar包? 通过maven坐标进行有效管理
坐标构成要素:1、公司域名倒写 2、项目名称 3、项目版本号 三者确定一个唯一的项目
1.第三方jar包 一般通过坐标在本地路中进行jar包文件的依赖.如果下载失败,则需要手动删除之后,更新maven重新下载.
2、自己的jar包 当项目打包时会在指定的位置生成.jar包文件
可以将程序打包之后被其他项目进行依赖,扩展功能
2.3.4maven中jar包传递性的原理
说明:在Maven中,如果A–依赖–B,B–依赖–C,在pom.xml中添加A jar包时,b、c都会自动添加依赖,将这种现象称之为Maven jar包依赖的传递性。
实现原理是什么??如何实现?
项目通过依赖项进行jar文件加载时,根据maven规则,会去本地库中查找该jar包文件,之后再解析jar文件的.pom文件,如果该文件有依赖项,则重复执行上述过程,直到依赖完成为止。
案例:
2)jar包如何实现的?
项目通过依赖项进行jar包文件加载时,根据maven规则,会去本地仓库中查找jar包文件,之后解析jar包文件的.pm文件,如果该文件中有依赖项,则重复执行上述的过程,直到依赖完成为止。
2.3.5 如何保证jar包文件的安全性?
2.3.5.1 sha1加密算法说明
SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法1)是一种密码散列函数,美国国家安全局设计,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS)。SHA-1可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。
1)一个字节8倍bit(0|1)
2)sha1加密使用取样计算加密。
2.3.5.2消息摘要
小知识:40位16进制数重复的概率是多少?(2^4) 40=2160分之一
3、springboot相关说明
3.1 pom.xml文件说明
3.1.1 历史遗留问题
之前旧项目中,需要手动导入jar包文件,并且格外地注意jar包版本问题,以防版本重复,但凡涉及jar包的升级,或多或少会有版本问题。
3.1.2 parent 标签的作用![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/7a4785bc744d41786641783b2dd6bcf6.png)
3.1.3关于依赖项说明
3.1.4关于maven插件
3.1.4.1
1).项目发布命令 java -jar xxxx.jar
说明:如果项目发布之后鼠标左键点击dos命令窗口可能阻塞当前程序,通过ctrl+c取消阻塞.
2).当项目中缺少build标签时,打包之后,会缺少主启动的方法.如图所示
3.2简述springboot启动流程
考点:对“开箱即用”的原则是否理解
知识点说明:
开箱即用: 只需要导入简单的jar包文件,就可以实现对应的功能,无需(少量)繁琐的配置.
3.2.1 关于@SpringBootApplication说明
3.2.1.1 关于元注解说明
元注解:修饰注解的注解。
@Target(ElementType.TYPE) 标识当前注解对谁有效 对类有效
@Retention(RetentionPolicy.RUNTIME) 注解什么时候生效 运行期有效.
@Documented 是否动态的生成文档信息.
@Inherited 该注解可以被继承
3.2.1.2 @ComponentScan说明
说明:通过该注解可以指定哪些包中的对象交给spring容器管理.
代码说明:
springBoot程序在内部需要加载很多的依赖jar包文件. 但是有个别的jar包文件引入之后会对其他的文件产生干扰.所以在启动之初将其排除在外…
3.2.1.3 @SpringBootConfiguration说明
该注解也是一个配置类|配置文件.
该注解标识了主启动类,说明主启动类也是一个配置类.
作用: 当程序启动时会将代码中的配置类进行加载(大配置文件包含小的配置文件)
1、@AutoConfigurationPackage 自动配置的包扫描 动态获取当前主启动类的包路径
注意事项:以后写代码的时候,切记一定在要主启动类的包或者其子包编辑。
2、@Import(AutoConfigurationImportSelector.class)
说明:springboot程序中有多个选择器,在程序启动时,springboot会调用选择器去加载pom.xml