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的開箱即用的做用才正式起做用。