栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

项目开始前的知识回顾总结

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

项目开始前的知识回顾总结

文章目录
  • 1.知识小结
    • 1.1 Mysql
    • 1.2 JDBC
    • 1.3 前端
    • 1.4 框架说明
  • 2. 项目结构搭建
    • 2.1 准备工作目录
    • 2.2 IDEA环境配置
    • 2.3. Maven配置
      • 2.3.1 Maven介绍
      • 2.3.2 Maven下载
      • 2.3.3 Maven工作原理
      • 2.3.4 Maven Settings 文件
      • 2.3.5 IDEA 整合Maven
    • 2.4 SpringBoot入门案例
      • 2.4.1 选择镜像地址
      • 2.4.2 编辑项目配置
      • 2.4.3 编辑选择springboot版本
  • 3. SpringBoot高级用法
    • 3.1 maven坐标说明
      • 3.1.1 maven坐标作用
      • 3.1.2 maven命令
      • 3.1.3 打包类型
      • 3.1.4 关于Maven下载说明
      • 3.1.5 maven jar包的传递性
        • 3.1.5.1 jar传递性的实现原理
        • 3.1.5.2 jar包传递安全性问题(扩展知识)
        • 3.1.5.3 算法介绍:sha1
        • 3.1.5.4 关于hash基本常识
        • 3.1.5.5 工作原理
    • 3.2 关于项目依赖项
      • 3.2.1 关于Springboot版本管理说明
    • 3.3 关于build标签作用
    • 3.4 关于配置文件说明
      • 3.4.1 默认配置文件名称
      • 3.4.2 properties语法说明
      • 3.4.3 YML语法说明
    • 3.5 动态为属性赋值
      • 3.5.1 入门案例
      • 3.5.2 需求说明
      • 3.5.3 编辑YML文件
      • 3.5.4 编辑HelloController
    • 3.6 利用pro文件为属性赋值
      • 3.6.1 业务说明
      • 3.6.2 编辑pro配置文件
      • 3.6.3 实现数据赋值操作

1.知识小结 1.1 Mysql
  1. 版本说明: 最好不要使用mysql8.0 建议使用mariadb 10以上
  2. 下载地址: https://mariadb.org/download/?rel=10.6.4&prod=mariadb&os=windows&cpu=x86_64&pkg=msi&mirror=ossplanet
  3. 基本功能 CRUD操作。
  4. 连接方式: 左连接,右连接,内连接
1.2 JDBC

功能和作用: java中操作数据库中最为直接的方式。
表述: JDBC开发效率高? 开发效率低
JDBC运行效率高? 操作数据库最快的就是JDBC

1.3 前端

     核心知识:

  1. html
  2. javascript JS 学一学
  3. CSS 美化
  4. Ajax
    前端的内容属于静态页面。
    动态页面: JSP html + java代码 tomcat负责解析。
1.4 框架说明
  1. SpringBoot 核心是Spring,简化框架的开发
    理解:SpringBoot是框架的框架
  2. SpringMVC 理念: 主要负责实现前后端交互.
    媒介: http(不安全)/https(安全) 秘钥:证书(公钥私钥) 协议
    TCP/IP协议 (3次握手规则) 速度是很快的
    常用工具: Ajax
  3. Spring框架
    主要作用: 主要整合第三方框架,使得程序可以以一种统一的方式进行管理.
         概念:
    1. 控制反转/依赖注入 IOC/DI
    2. 面向切面编程 AOP(1-2年)
2. 项目结构搭建 2.1 准备工作目录

说明: 整合第三阶段的代码都统一的放到目录cgb2108中, 该目录不要与其它的软件耦合.
     程序员操守:

  1. 路径中不要有中文/空格/特殊字符
  2. 软件目录结构不要与其它软件耦合!!!
  3. 找一个趁手的文本编辑器 EverEdit.exe
2.2 IDEA环境配置
  • List item
2.3. Maven配置 2.3.1 Maven介绍

Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。

2.3.2 Maven下载

2.3.3 Maven工作原理
  1. 用户使用的jar包都来源于本地库
  2. 本地库中的jar包来源于私服镜像和远程服务器
2.3.4 Maven Settings 文件
  1. 配置本地仓库位置
	E:/project3/repo
  1. 配置私服镜像
	
		aliyun
		aliyun for maven
		*
		https://maven.aliyun.com/repository/public
    
  1. 旧版本eclipse的配置

   jdk-1.8
   
	true
      1.8
   
   
	   1.8
	   1.8
	   
        1.8
       
	 
   
2.3.5 IDEA 整合Maven

2.4 SpringBoot入门案例 2.4.1 选择镜像地址

2.4.2 编辑项目配置

2.4.3 编辑选择springboot版本

     说明:

  1. 选择springboot版本 2.3.7
  2. 勾选 Spring Web
3. SpringBoot高级用法 3.1 maven坐标说明 3.1.1 maven坐标作用
  1. maven的坐标主要标识项目,并且标识 唯一标识.
  2. maven项目操作时,与本地仓库一一对应.
 	
    com.jt
    
    springboot_demo1
    
    0.0.1-SNAPSHOT
3.1.2 maven命令
  1. clean 清空项目中的target文件目录的.xxx.class
  2. install将项目打包处理
    install 详细说明
    每次打包 会在2个位置生成jar包文件
    位置1:target文件目录中
    位置2:根据坐标,在本地仓库中生成具体的jar包文件,该文件可以被其它项目依赖.
3.1.3 打包类型
  1. jar包文件 springboot项目/工具API项目/框架的项目
  2. war包文件 动态web项目 JSP类型 tomcat服务器
  3. pom类型(标识符) POM类型表示聚合工程 微服务架构设计一般采用pom类型
3.1.4 关于Maven下载说明

说明:根据坐标可以在本地仓库的指定位置 查找到jar包文件
作用:可以被其他项目依赖

3.1.5 maven jar包的传递性

案例说明1:用户只需要引入特定的jar包文件,则maven可以通过依赖的传递性,实现其它jar包文件的引入.
数据结构说明:A.jar 依赖 B.jar, B.jar 依赖 C.jar 如果只导入A.jar 则自动依赖B/C

3.1.5.1 jar传递性的实现原理

实现原理:
1.当maven扫描依赖信息时,会根据坐标找到对应的jar包文件
2.之后扫描当前目录下的xxx.pom文件
3. 根据pom文件中的依赖项dependency 再次查找其它的依赖jar包,直到所有jar包依赖完成为止.

3.1.5.2 jar包传递安全性问题(扩展知识)

问题:jar包文件都是通过网络下载而来的,如何保证文件不被篡改?

3.1.5.3 算法介绍:sha1

SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法1)是一种密码散列函数,美国国家安全局设计,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS)。SHA-1可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。

3.1.5.4 关于hash基本常识
  1. 如果数据相同,相同的hash算法,问hash值是否相同 必定相同
  2. 如果数据不同,相同的hash算法 问hash值是否相同 可能相同 (hash碰撞)
  3. 常见hash 一般由 8位16进制数组成
3.1.5.5 工作原理

3.2 关于项目依赖项 3.2.1 关于Springboot版本管理说明

说明1:spring-boot-dependencies是SpringBoot官网进行调试之后,将所有的关联的jar包进行了定义.从根本上解决了jar包的冲突问题.
说明2:如果需要引入其它的jar包文件,只需要添加jar包名称即可
说明3:特殊的jar包文件 需要手动添加版本号


        
            
                org.springframework.boot
                spring-boot-dependencies
                ${spring-boot.version}
                pom
                import
            
        
    
3.3 关于build标签作用

说明:当springboot项目需要打包时,springBoot中的build标签会起作用,将springBoot按照可以执行的方式打包成jar文件

 
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.8.1
                
                    1.8
                    1.8
                    UTF-8
                
            
            
                org.springframework.boot
                spring-boot-maven-plugin
                2.3.7.RELEASE
                
                    com.jt.SpringbootDemo1Application
                
                
                    
                        repackage
                        
                            repackage
                        
                    
                
            
        
    

如果没有build标签 则项目启动报错如下:

3.4 关于配置文件说明 3.4.1 默认配置文件名称

springboot项目 默认配置文件的名称 application.properties 名称一般固定,不会随意更改.

3.4.2 properties语法说明

语法说明:
1.数据结构 key=value
2.value中前后不要有空格
3.properties文件 程序默认读取ISO-8859-1 编码结构 中文必定乱码
4.properties文件中key的名称不能复用.

3.4.3 YML语法说明

语法说明:
1.数据结构key:(空格)
2.key的关键字有层级缩进效果,注意缩进
3.YML文件默认采用UTF-8编码格式 所以对中文友好
4.value中不要有多余的空格
5.yml文件中key的名称可以复用,注意层级

3.5 动态为属性赋值 3.5.1 入门案例
package com.jt.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
//注解说明: @RestController = @Controller + @ResponseBody
//效果:  1. @Controller 将当前类交给Spring容器管理
//      2. @ResponseBody 前后端交互时,将后端服务器返回的对象转化为JSON
//         前后端交互媒介 http协议 传输的数据都是字符串
//         JSON: 有特殊格式的字符串

@RestController
public class HelloController {

    private String name = "李四";
    
    @RequestMapping("/getName") //建议大家写绝对路径
    public String getName(){

        return name;
    }
}

3.5.2 需求说明

由于下列的代码 将将名称直接写死到变量中,如果后续需要修改,则需要改变源码. 后期维护不便.
解决方案: 为属性动态赋值.

3.5.3 编辑YML文件

3.5.4 编辑HelloController
@RestController
public class HelloController {

    //作用:从Spring容器中获取数据,需要指定key
    //     $ springel   spel表达式
    @Value("${cgbname}")
    private String name;    // = "王五";

    
    @RequestMapping("/getName") //建议大家写绝对路径
    public String getName(){

        return name;
    }
}
3.6 利用pro文件为属性赋值 3.6.1 业务说明

YML文件是Spring的核心配置文件.主要的目的是为了整合第三方框架而是用的.如果将大量的业务数据写到YML文件中,则会导致代码结构混乱.
解决方案: 可以使用pro文件实现业务数据处理.

3.6.2 编辑pro配置文件
cgbname2=齐天大圣

3.6.3 实现数据赋值操作
package com.jt.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
//注解说明: @RestController = @Controller + @ResponseBody
//效果:  1. @Controller 将当前类交给Spring容器管理
//      2. @ResponseBody 前后端交互时,将后端服务器返回的对象转化为JSON
//         前后端交互媒介 http协议 传输的数据都是字符串
//         JSON: 有特殊格式的字符串

@RestController
//加载指定配置文件,并且设定字符集编码格式
@PropertySource(value = "classpath:/name.properties",encoding = "UTF-8")
public class HelloController {

    //作用:从Spring容器中获取数据,需要指定key
    //     $ springel   spel表达式
    @Value("${cgbname}")
    private String name;    // = "王五";

    @Value("${cgbname2}")   //该属性是pro文件中,必须要求spring容器加载pro文件
    private String name2;

    
    @RequestMapping("/getName") //建议大家写绝对路径
    public String getName(){

        return name+"|"+name2;
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/354290.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号