ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

CGB-京淘项目Day01

2021-01-18 20:29:23  阅读:114  来源: 互联网

标签:文件 依赖 项目 Day01 CGB jar maven 2.3


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个十六进制数。
一个字节8倍bit(0|1)

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 标签的作用在这里插入图片描述

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说明

该注解也是一个配置类|配置文件.
在这里插入图片描述
该注解标识了主启动类,说明主启动类也是一个配置类.
作用: 当程序启动时会将代码中的配置类进行加载(大配置文件包含小的配置文件)
在这里插入图片描述

标签:文件,依赖,项目,Day01,CGB,jar,maven,2.3
来源: https://blog.csdn.net/weixin_54346104/article/details/112761691

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有