【Java】CGB2010-京淘项目Day01

CGB2010-京淘项目Day01

CV战士发布于 58 分钟前

cgb2010-京淘项目Day01

【Java】CGB2010-京淘项目Day01

1.京淘项目说明

1.1 知识点概述

1). SpringBoot框架使用(SpringMVC,Spring,Mybatis/MybatisPlus) 自己动手完成代码
2). 京淘项目的架构设计思想 如何让系统稳定的运行!!! 软件不行,硬件补
3). 学习企业中不同项目之间如何进行交互. AJAX/跨域思想/HttpClient业务调用/Dubbo
4). 完成项目企业实践 将自己的项目 部署到服务器中(Linux) 通过域名直接访问
5). 概念(什么是什么???)| 重点理解核心代码(编程思维-自己思考问题的思路)|代码可以不写 业务思路必须准确了解.(面试必备技能)

1.2 京淘架构设计

常识:
1).tomcat服务器并发能力 没有调优 150-220次/秒 大约200次/秒
JVM调优: 1000次/秒
2).Mysql数据库能够支持的最大的并发链接数: 1000 (一秒之内可能做多次操作)
【Java】CGB2010-京淘项目Day01

1.2 PD软件

1.2.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.2.2 安装PD

1).双击运行安装
选择地址: (PRC) 之后一路下一步安装即可.
【Java】CGB2010-京淘项目Day01
2).破解软件
【Java】CGB2010-京淘项目Day01
3).选择数据库模式
【Java】CGB2010-京淘项目Day01
之后选择mysql 5.0数据库即可

4).关于面板工具说明
【Java】CGB2010-京淘项目Day01

1.3 关于数据库表设计

设计原则: 考虑问题时,一定要站在一头考虑. 常用的关联关系 主外键关联
主外键设计原则: 我自己的主键可以充当别人的外键!!!
核心知识: 主键不能重复的, 外键可以重复.

1.3.1 一对一

业务场景: 用户(user)表与用户详情表(user_info)
表关系: 一个用户对应一个用户详情 一对一
一个详情对应一个用户 一对一 (典型一对一)
【Java】CGB2010-京淘项目Day01

1.3.2 一对多

业务场景: 员工和部门
表分析: 1个员工对应1个部门.
1个部门对应多个员工.
【Java】CGB2010-京淘项目Day01

1.3.3 多对多

业务场景: 角色和权限
分析: 1个角色对应多个权限.
1个权限对应多个角色
【Java】CGB2010-京淘项目Day01

1.4 京淘项目表设计

【Java】CGB2010-京淘项目Day01

1.5 导入数据库

1).链接数据库
【Java】CGB2010-京淘项目Day01
2).导入数据库
【Java】CGB2010-京淘项目Day01

2 京淘项目环境搭建

2.1 IDEA环境配置

2.1.1 安装插件

安装lombok插件
【Java】CGB2010-京淘项目Day01

2.1.2 控制字母缩放

【Java】CGB2010-京淘项目Day01

2.1.3 编辑字母配置

【Java】CGB2010-京淘项目Day01

2.1.4 自动编译

【Java】CGB2010-京淘项目Day01

2.1.5 设定自动保存

【Java】CGB2010-京淘项目Day01

2.1.6 maven配置

1).配置maven
【Java】CGB2010-京淘项目Day01

2).私服镜像地址

`<mirror>

<id>aliyun</id>

<name>aliyun for maven</name>

<mirrorOf>*</mirrorOf>

<url>https://maven.aliyun.com/repository/public</url>

</mirror>`

*

2.1.7 修改IDEA字符集编码格式

【Java】CGB2010-京淘项目Day01

2.1.8 关于社区版(免费版)安装spring插件

【Java】CGB2010-京淘项目Day01

2.2 SpringBoot入门案例

2.2.1 创建项目

【Java】CGB2010-京淘项目Day01

2.2.2 添加jar包依赖

【Java】CGB2010-京淘项目Day01

2.3 关于Maven jar包管理机制

2.3.1 maven作用

**Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven是一站式的项目的管理软件 主要的功能:项目的创建/jar包管理/项目打包/发布/部署等功能.**

2.3.2 maven命令说明

java编译过程: .java文件---------.class文件-------打包----(.class文件的集合) xxx.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重新下载.
【Java】CGB2010-京淘项目Day01
2.自己的jar包 当项目打包时会在指定的位置生成.jar包文件.
可以将程序打包之后被其他项目进行依赖,扩展功能.

2.3.4 maven中jar包依赖的传递性的原理

说明: 在Maven中 如果A-----依赖-----B, B依赖-----C. 当在pom.xml文件中添加Ajar包时 B/C都会自动的添加依赖. 将这种现象称之为叫做maven jar依赖的传递性.

1).jar包传递性的案例:
【Java】CGB2010-京淘项目Day01
2).如何实现的?
项目通过依赖项进行jar包文件加载时,根据maven规则,会去本地库中查找该jar包文件.之后解析该jar包文件的 .pom.文件 如果该文件中有依赖项,则重复执行上述的过程.直到依赖完成为止结束.
【Java】CGB2010-京淘项目Day01
【Java】CGB2010-京淘项目Day01

2.3.5 如何保证jar包文件安全性???

2.3.5.1 SHA1算法说明

SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法1)是一种密码散列函数,美国国家安全局设计,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS)。SHA-1可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。
一个字节8个bit(0|1)

2.3.5.2 消息摘要说明

小知识: 40位16进制数重复的概率是多少?? (24)40=2^160
【Java】CGB2010-京淘项目Day01

3 SpringBoot相关说明

3.1 POM.xml文件说明

3.1.1 历史遗留问题

在之前旧项目中,需要手动的jar包文件.并且格外的注意jar包版本问题.以防版本重复. 但凡涉及到jar包的升级,或多或者都会有版本问题.

3.1.2 parent标签的作用

`<!--

springboot官方将自身所有用到的jar包的文件进行了统一的管理定义(冲突问题最大程度上进行解决)

防止内部jar包文件冲突.

-->

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>2.4.2</version>

<relativePath/>

</parent>`

*

3.1.3 关于依赖项说明

`<dependencies>

<!--按照需要的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>

</dependency>

</dependencies>`

*

3.1.4 关于maven插件说明

1).项目发布命令 java -jar xxxx.jar
说明:如果项目发布之后鼠标左键点击dos命令窗口可能阻塞当前程序,通过ctrl+c取消阻塞.
【Java】CGB2010-京淘项目Day01
2).当项目中缺少build标签时,打包之后,会缺少主启动的方法.如图所示
【Java】CGB2010-京淘项目Day01

3.2 关于JDK说明

【Java】CGB2010-京淘项目Day01

3.2 简述SpringBoot启动流程

考点: 你对于springBoot程序的开箱即用的原则是否理解…
知识点说明:
开箱即用: 只需要导入简单的jar包文件,就可以实现对应的功能,无需(少量)繁琐的配置. 【Java】CGB2010-京淘项目Day01

3.2.1 关于@SpringBootApplication说明

【Java】CGB2010-京淘项目Day01

3.2.1.1 关于元注解说明

@Target(ElementType.TYPE) 标识当前注解对谁有效 对类有效
@Retention(RetentionPolicy.RUNTIME) 注解什么时候生效 运行期有效.
@Documented 是否动态的生成文档信息.
@Inherited 该注解可以被继承

3.2.1.2 @ComponentScan说明

说明:通过该注解可以指定哪些包中的对象交给spring容器管理.

`@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),

@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })`

*

代码说明:
springBoot程序在内部需要加载很多的依赖jar包文件. 但是有个别的jar包文件引入之后会对其他的文件产生干扰.所以在启动之初将其排除在外…

3.2.1.3 @SpringBootConfiguration说明

该注解也是一个配置类|配置文件.
【Java】CGB2010-京淘项目Day01
该注解标识了主启动类,说明主启动类也是一个配置类.
作用: 当程序启动时会将代码中的配置类进行加载(大配置文件包含小的配置文件)
【Java】CGB2010-京淘项目Day01

3.2.1.4 @EnableAutoConfiguration

【Java】CGB2010-京淘项目Day01
1)[email protected] 自动配置的包扫描 动态获取当前主启动类的包路径…
注意事项: 以后写代码的时候,切记一定要在主启动类的同包及子包中编辑.
【Java】CGB2010-京淘项目Day01
2)[email protected](AutoConfigurationImportSelector.class)
说明:springBoot程序中有多个选择器,在程序启动时,springBOot会调用选择器去加载pom.xml文件中的启动项(springbooot-start-xxxxx)等jar包文件. 如果选择器匹配则开始运行实例化对象,如果不匹配则跳过该选择器,执行下一个.
至此整个开箱即用的原则实现.
【Java】CGB2010-京淘项目Day01

java

阅读 32更新于 25 分钟前

本作品系原创,采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议

avatar

CV战士

1 声望

6 粉丝

0 条评论

得票时间

avatar

CV战士

1 声望

6 粉丝

宣传栏

cgb2010-京淘项目Day01

【Java】CGB2010-京淘项目Day01

1.京淘项目说明

1.1 知识点概述

1). SpringBoot框架使用(SpringMVC,Spring,Mybatis/MybatisPlus) 自己动手完成代码
2). 京淘项目的架构设计思想 如何让系统稳定的运行!!! 软件不行,硬件补
3). 学习企业中不同项目之间如何进行交互. AJAX/跨域思想/HttpClient业务调用/Dubbo
4). 完成项目企业实践 将自己的项目 部署到服务器中(Linux) 通过域名直接访问
5). 概念(什么是什么???)| 重点理解核心代码(编程思维-自己思考问题的思路)|代码可以不写 业务思路必须准确了解.(面试必备技能)

1.2 京淘架构设计

常识:
1).tomcat服务器并发能力 没有调优 150-220次/秒 大约200次/秒
JVM调优: 1000次/秒
2).Mysql数据库能够支持的最大的并发链接数: 1000 (一秒之内可能做多次操作)
【Java】CGB2010-京淘项目Day01

1.2 PD软件

1.2.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.2.2 安装PD

1).双击运行安装
选择地址: (PRC) 之后一路下一步安装即可.
【Java】CGB2010-京淘项目Day01
2).破解软件
【Java】CGB2010-京淘项目Day01
3).选择数据库模式
【Java】CGB2010-京淘项目Day01
之后选择mysql 5.0数据库即可

4).关于面板工具说明
【Java】CGB2010-京淘项目Day01

1.3 关于数据库表设计

设计原则: 考虑问题时,一定要站在一头考虑. 常用的关联关系 主外键关联
主外键设计原则: 我自己的主键可以充当别人的外键!!!
核心知识: 主键不能重复的, 外键可以重复.

1.3.1 一对一

业务场景: 用户(user)表与用户详情表(user_info)
表关系: 一个用户对应一个用户详情 一对一
一个详情对应一个用户 一对一 (典型一对一)
【Java】CGB2010-京淘项目Day01

1.3.2 一对多

业务场景: 员工和部门
表分析: 1个员工对应1个部门.
1个部门对应多个员工.
【Java】CGB2010-京淘项目Day01

1.3.3 多对多

业务场景: 角色和权限
分析: 1个角色对应多个权限.
1个权限对应多个角色
【Java】CGB2010-京淘项目Day01

1.4 京淘项目表设计

【Java】CGB2010-京淘项目Day01

1.5 导入数据库

1).链接数据库
【Java】CGB2010-京淘项目Day01
2).导入数据库
【Java】CGB2010-京淘项目Day01

2 京淘项目环境搭建

2.1 IDEA环境配置

2.1.1 安装插件

安装lombok插件
【Java】CGB2010-京淘项目Day01

2.1.2 控制字母缩放

【Java】CGB2010-京淘项目Day01

2.1.3 编辑字母配置

【Java】CGB2010-京淘项目Day01

2.1.4 自动编译

【Java】CGB2010-京淘项目Day01

2.1.5 设定自动保存

【Java】CGB2010-京淘项目Day01

2.1.6 maven配置

1).配置maven
【Java】CGB2010-京淘项目Day01

2).私服镜像地址

`<mirror>

<id>aliyun</id>

<name>aliyun for maven</name>

<mirrorOf>*</mirrorOf>

<url>https://maven.aliyun.com/repository/public</url>

</mirror>`

*

2.1.7 修改IDEA字符集编码格式

【Java】CGB2010-京淘项目Day01

2.1.8 关于社区版(免费版)安装spring插件

【Java】CGB2010-京淘项目Day01

2.2 SpringBoot入门案例

2.2.1 创建项目

【Java】CGB2010-京淘项目Day01

2.2.2 添加jar包依赖

【Java】CGB2010-京淘项目Day01

2.3 关于Maven jar包管理机制

2.3.1 maven作用

**Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven是一站式的项目的管理软件 主要的功能:项目的创建/jar包管理/项目打包/发布/部署等功能.**

2.3.2 maven命令说明

java编译过程: .java文件---------.class文件-------打包----(.class文件的集合) xxx.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重新下载.
【Java】CGB2010-京淘项目Day01
2.自己的jar包 当项目打包时会在指定的位置生成.jar包文件.
可以将程序打包之后被其他项目进行依赖,扩展功能.

2.3.4 maven中jar包依赖的传递性的原理

说明: 在Maven中 如果A-----依赖-----B, B依赖-----C. 当在pom.xml文件中添加Ajar包时 B/C都会自动的添加依赖. 将这种现象称之为叫做maven jar依赖的传递性.

1).jar包传递性的案例:
【Java】CGB2010-京淘项目Day01
2).如何实现的?
项目通过依赖项进行jar包文件加载时,根据maven规则,会去本地库中查找该jar包文件.之后解析该jar包文件的 .pom.文件 如果该文件中有依赖项,则重复执行上述的过程.直到依赖完成为止结束.
【Java】CGB2010-京淘项目Day01
【Java】CGB2010-京淘项目Day01

2.3.5 如何保证jar包文件安全性???

2.3.5.1 SHA1算法说明

SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法1)是一种密码散列函数,美国国家安全局设计,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS)。SHA-1可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。
一个字节8个bit(0|1)

2.3.5.2 消息摘要说明

小知识: 40位16进制数重复的概率是多少?? (24)40=2^160
【Java】CGB2010-京淘项目Day01

3 SpringBoot相关说明

3.1 POM.xml文件说明

3.1.1 历史遗留问题

在之前旧项目中,需要手动的jar包文件.并且格外的注意jar包版本问题.以防版本重复. 但凡涉及到jar包的升级,或多或者都会有版本问题.

3.1.2 parent标签的作用

`<!--

springboot官方将自身所有用到的jar包的文件进行了统一的管理定义(冲突问题最大程度上进行解决)

防止内部jar包文件冲突.

-->

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>2.4.2</version>

<relativePath/>

</parent>`

*

3.1.3 关于依赖项说明

`<dependencies>

<!--按照需要的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>

</dependency>

</dependencies>`

*

3.1.4 关于maven插件说明

1).项目发布命令 java -jar xxxx.jar
说明:如果项目发布之后鼠标左键点击dos命令窗口可能阻塞当前程序,通过ctrl+c取消阻塞.
【Java】CGB2010-京淘项目Day01
2).当项目中缺少build标签时,打包之后,会缺少主启动的方法.如图所示
【Java】CGB2010-京淘项目Day01

3.2 关于JDK说明

【Java】CGB2010-京淘项目Day01

3.2 简述SpringBoot启动流程

考点: 你对于springBoot程序的开箱即用的原则是否理解…
知识点说明:
开箱即用: 只需要导入简单的jar包文件,就可以实现对应的功能,无需(少量)繁琐的配置. 【Java】CGB2010-京淘项目Day01

3.2.1 关于@SpringBootApplication说明

【Java】CGB2010-京淘项目Day01

3.2.1.1 关于元注解说明

@Target(ElementType.TYPE) 标识当前注解对谁有效 对类有效
@Retention(RetentionPolicy.RUNTIME) 注解什么时候生效 运行期有效.
@Documented 是否动态的生成文档信息.
@Inherited 该注解可以被继承

3.2.1.2 @ComponentScan说明

说明:通过该注解可以指定哪些包中的对象交给spring容器管理.

`@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),

@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })`

*

代码说明:
springBoot程序在内部需要加载很多的依赖jar包文件. 但是有个别的jar包文件引入之后会对其他的文件产生干扰.所以在启动之初将其排除在外…

3.2.1.3 @SpringBootConfiguration说明

该注解也是一个配置类|配置文件.
【Java】CGB2010-京淘项目Day01
该注解标识了主启动类,说明主启动类也是一个配置类.
作用: 当程序启动时会将代码中的配置类进行加载(大配置文件包含小的配置文件)
【Java】CGB2010-京淘项目Day01

3.2.1.4 @EnableAutoConfiguration

【Java】CGB2010-京淘项目Day01
1)[email protected] 自动配置的包扫描 动态获取当前主启动类的包路径…
注意事项: 以后写代码的时候,切记一定要在主启动类的同包及子包中编辑.
【Java】CGB2010-京淘项目Day01
2)[email protected](AutoConfigurationImportSelector.class)
说明:springBoot程序中有多个选择器,在程序启动时,springBOot会调用选择器去加载pom.xml文件中的启动项(springbooot-start-xxxxx)等jar包文件. 如果选择器匹配则开始运行实例化对象,如果不匹配则跳过该选择器,执行下一个.
至此整个开箱即用的原则实现.
【Java】CGB2010-京淘项目Day01

以上是 【Java】CGB2010-京淘项目Day01 的全部内容, 来源链接: utcz.com/a/110498.html

回到顶部