1.1 用户在访问服务器时由于并发量比较大,一般使用多台服务器来解决高访问的问题。而域名、端口等统一且惟一,用户不可能在输入网址时不断的修改,所以用统一的代理服务器做为惟一的入口,再进行分配。java
1.2 数据库端一样为减小访问量,增添了缓存服务器。以及主从数据库,里面数据彻底相同。一旦主机出现的故障,会根据特定算法自动切换到从机上。web
一个商品对应一个商品描述,一个商品描述对应一个商品。
一般将一个表中的主键充当另外一个表中的外键。(pk--主键,fk--外键)算法
一个商品分类中对应多个商品,但一个商品却只属于一个商品分类。(当以某个对象为主体时,则以此对象为参考点。在以商品为参考点时,此时已经选中了这个商品,即有且只有一个,只对应一个商品分类。)spring
一个角色对应多个权限,一个权限对应多个角色。(多对多并非指多个对象对多个对象,而是咱们在选取这个对象时,这个对象已经被肯定下来了,有且只有一个。这个‘多’表示其余对象与它的关系。)sql
导入指令; source 路径/xxx.sql
('/'和'\' 都同样,在导入时能够先找到sql文件,先输入指令 source+空格 而后将文件直接拉入,再回车便可,也可经过其余工具导入。)数据库
输入指令:java -version缓存
Maven是一站式的项目管理工具,能够建立项目、管理项目、项目打包、依赖、发布等。安全
Maven中有不少其余机构的开源jar包文件,经过坐标形式进行统一的管理。服务器
<dependency> <groupId>org.springframework.boot 公司域名倒写</groupId> <artifactId>spring-boot-starter-web 项目名称</artifactId> <version>XX 版本号</version> </dependency>
jar包位置:
C:\The_four_step\maven\rep\org\springframework\boot\spring-boot-starter-web\2.4.1并发
在maven项目中若是A依赖B,B依赖C,当程序添加依赖A时,则一样也添加了B,C依赖文件。
maven依赖的原理:
1 当用户添加了jar包文件时,maven会根据jar包路径查询jar包文件
2 当加载完jar包后,会继续解析该目录下的自身带有的pom文件,若是pom文件中包含jar包时,就会继续加载。
当jar包完成下载时,本地库中的jar文件数据会进行散列算法,而后与中央仓库中的计算得出的散列值比较是否相等,以此来保证数据一致。
SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法1)是一种密码散列函数,美国国家安全局设计,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS)。SHA-1能够生成一个被称为消息摘要的160位(20字节)散列值,散列值一般的呈现形式为40个十六进制数。
常识:
1.若是数据相同,问: hash值是否相同? 值是相同的.
2.问 一个数据10K,一个数据1G 问 运算速度如何? 同样快(约等于)
数据传递的流程:
该名称默认为项目名。
1 通常项目须要打包时,会先执行clean指令,表示清除 缓存,清除一些不须要但还存在在缓存中的数据。
2 而后再compile 从新编译。
3 install 项目打包
打包后,会出现一个打包的jar包文件,便是咱们须要的打包文件;若是没有出现,刷新下。
命令:java -jar 打包文件(xxx.jar)
测试的时候能够在文件目录下运行cmd
命令: ctr+c 表示退出
但项目启动时,会找到main入口,对@SpringBootApplication注解进行解析。
ctr+鼠标右键 点击此注解
此类注解为元注解,用来修饰注解的注解
@Target(ElementType.TYPE) 限定注解的做用范围(类里面有效)
@Retention(RetentionPolicy.RUNTIME) 注解的生命周期,表示在运行期有效
@Documented 应该被javadoc记录,动态生成文档信息
@Inherited 表示类、子类能够被继承
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class), @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) }) public @interface SpringBootApplication { /** * Exclude specific auto-configuration classes such that they will never be applied. * @return the classes to exclude */ @AliasFor(annotation = EnableAutoConfiguration.class) Class<?>[] exclude() default {};...
由于spring boot启动时须要加载的不少,在这里经过过滤器排除哪些不须要加载的,便是须要加载的了。(eg:求一个集合时,能够对其求补集再取反)
经过注解得知:主启动类自己也是一个配置类
1 @AutoConfigurationPackage: 限定了spingBoot启动时包扫描的路径,只有在启动类的同包及其子包下才会被扫描到。
2 @Import(AutoConfigurationImportSelector.class)
该注解主要表示当程序启动时,springBoot内部会有多个选择器依次启动。选择器启动时会去加载指定的jar包文件。这时springBoot的开箱即用的做用才正式起做用。