關于Maven環境說明
元件:
1. 遠端倉庫 官方維護了幾乎所有的項目的jar包.(版權問題oracle資料)
2. 私服鏡像 在國内倉庫. 阿裡雲鏡像伺服器.
3. 本地倉庫 使用者在自己本地維護的jar封包件.
settings
1.配置本地倉庫路徑
2.配置私服鏡像
建立項目之後,不能被maven項目辨別.解決方案 右鍵添加項目+ Add as Maven Project
SHA-1(英語:Secure Hash Algorithm 1,中文名:安全雜湊演算法1)是一種密碼散列函數,美國國家安全局設計,并由美國國家标準技術研究所(NIST)釋出為聯邦資料處理标準(FIPS)。SHA-1可以生成一個被稱為消息摘要的160位(20位元組)散列值,散列值通常的呈現形式為40個十六進制數。
問題1: 如果資料相同,采用相同的hash函數 問: 值是否相同? 答案:必然相同!!!!
問題2: 常見hash編碼 是多少位16進制數?? 答案: 8位16進制數
問題3: 8位16進制數,取值區間多少? 答案: 2^32
00000000-FFFFFFFF
問題4: 1kb的資料和1gb資料 hash誰快? 答案: 一樣快
問題5: 資料相同則hash碼相同,hash碼相同資料一定相同? 不正确. **hash碰撞!**
降低碰撞機率, 增大hash長度.
資料傳遞有效性
pom.xml檔案說明
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <!--将父級内容進行引用(簡化) SpringBoot是架構的架構 核心spring jar包沖突的問題嚴重 A.jar!>5.1jar b.jar!>>4.8jar SpringBoot項目:官網将大部分架構在内部進行了整合, 解決了jar包沖突問題,制定了統一的版本依賴資訊 不用擔心版本了 定義目前SpringBoot所有的版本号,不負責引用 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.3</version> <relativePath/> <!-- lookup parent from repository --> </parent> <!--組Id/項目名/版本号 作用:可以在本地倉庫中地位項目 可以作為依賴項被其他項目引用 --> <groupId>com.jt</groupId> <artifactId>springboot_demo1</artifactId> <version>0.0.1-SNAPSHOT</version> <name>springboot_demo1</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <!--按照需要引用jar包 2010 SSM需要手動大量配置 2015 省去繁瑣配置檔案《開箱即用》思想 SpringBoot思想 --> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <!--Spring的啟動器 代表原來大量的配置檔案--> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <!--測試--> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <!-- 插件 spring-boot-maven-plugin 幫手build SpringBoot的打包 部署 釋出需要依賴maven相關的api 不添加 直接影響項目的釋出(部署到伺服器) --> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
實作思路:在遠處進行hash計算,當資料下載下傳到本地,需要再次校驗.如果2此hash碼相同則說明資料一緻,否則資料被篡改。人臉識别,相同檔案直接引用位址
pom.xml
Maven指令
clear删除target 删除.class檔案 解決編譯問題
install 項目釋出 将。class 打包為。jar Target目錄下和本地倉庫中都有
validate 校驗
Java項目釋出的指令 (targrt目錄下jar包)
- 進入jar包的根目錄
- 說明: 通過
檢查JDK是否配置正常.java -version
- 如果提示java不是内部指令 則環境變量配置一定有問題.
- 項目釋出
- 指令:
java -jar xxx.jar
解決方法
打開windows下dos指令視窗 ,輸入 netstat -ano|findstr + 端口号 例如
netstat -ano|findstr "8080"
如果出現 "netstat"不是内部或外部指令,也不是可運作的程式或批處理檔案。
則右鍵我的電腦--屬性---進階系統設定--環境變量---找到Path--編輯--建立
C:\WINDOWS\system64
重新開機dos指令視窗 ,輸入 netstat -ano|findstr + 端口号
最後一列為PID,,PID為占用端口的程序号
taskkill -pid 8892 –f --殺死8892程序号
SpringBoot注解
@Value注解
有時需要動态的擷取資料,不能直接寫死在代碼中, 如何處理???
編輯YML檔案
#文法說明
## 文法1: 資料結構 key-value結構
## 文法2: 寫法 key:(空格)value
## 文法3: yml檔案 預設字元集是UTF-8編碼 中文不亂碼
## 文法4: yml檔案 有層級效果 注意縮進
server:
port: 8080
# SpringBoot啟動時 預設加載yml檔案
msg:
hello: "今天下雨,記得帶傘~~"
package com.jt.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/car")
public class HelloController {
/*加載YML的配置檔案,内部的kv結構加載
到spring維護的記憶體空間中*/
@Value("${msg.hello}")
private String msg;
@RequestMapping("/hello")
public String hello(){
return msg;
}
}