天天看點

2021-08-19 SpringBoot pom.xml标簽 8080端口資料傳遞有效性 pom.xml檔案說明Maven指令Java項目釋出的指令 (targrt目錄下jar包)SpringBoot注解

關于Maven環境說明

元件:

1. 遠端倉庫 官方維護了幾乎所有的項目的jar包.(版權問題oracle資料)

2. 私服鏡像 在國内倉庫. 阿裡雲鏡像伺服器.

3. 本地倉庫 使用者在自己本地維護的jar封包件.

settings

1.配置本地倉庫路徑

2.配置私服鏡像

建立項目之後,不能被maven項目辨別.解決方案 右鍵添加項目+ Add as Maven Project

2021-08-19 SpringBoot pom.xml标簽 8080端口資料傳遞有效性 pom.xml檔案說明Maven指令Java項目釋出的指令 (targrt目錄下jar包)SpringBoot注解
2021-08-19 SpringBoot pom.xml标簽 8080端口資料傳遞有效性 pom.xml檔案說明Maven指令Java項目釋出的指令 (targrt目錄下jar包)SpringBoot注解
2021-08-19 SpringBoot pom.xml标簽 8080端口資料傳遞有效性 pom.xml檔案說明Maven指令Java項目釋出的指令 (targrt目錄下jar包)SpringBoot注解

 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長度.

資料傳遞有效性

2021-08-19 SpringBoot pom.xml标簽 8080端口資料傳遞有效性 pom.xml檔案說明Maven指令Java項目釋出的指令 (targrt目錄下jar包)SpringBoot注解

 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包)

  1. 進入jar包的根目錄
  2. 說明: 通過

    java -version

    檢查JDK是否配置正常.
  3. 如果提示java不是内部指令 則環境變量配置一定有問題.
  4. 項目釋出
  5. 指令:

    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;
    }
}