IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> SpringBoot入门 -> 正文阅读

[Java知识库]SpringBoot入门

IDEA中Lombok插件的作用

数据库:库? 表 字段 值? User表(id,name,age)

实体对象pojo:用来封装数据库中的数据 User类?(id,name,age)

实体对象方法:get/set/toString/构造(无参/有参)/equals/hashcode

Lombok作用:自动生成上述方法

POM.XML文件标签说明

关于坐标的说明

在本地仓库中是唯一的标识符 是当前项目打包/被依赖的唯一路径

如果项目中依赖第三方jar包文件报错,如何处理????

?根据坐标下载jar包文件时,可能由于网络问题下载不完整,

解决:根据坐标查找本地仓库位置,删除

maven项目打包方式

1.默认条件下 jar包

2.web项目 可以打成war包

3.如果该项目是父级项目,则写pom? 在坐标下添加packaging标签

父级parent标签作用

依赖相关说明

思想:“开箱即用”是SpringBoot设计的核心 越来越简单

启动项:SpringBoot专门为整合第三方框架,写了启动项jar包文件,将所有配置信息/需要依赖的jar包文件提前测试并且定义

Maven依赖的传递性

maven中的jar包是由依赖传递性的?

?maven的依赖传递性实现的原理

本地仓库文件说明

步骤:

1.maven开始解析pom.xml文件,根据依赖的坐标找到指定jar包 然后添加该依赖

2.扫描当前文件中的xxx.pom文件

3.扫描xxx.pom中的依赖信息

4.重复执行以上操作 直到所有依赖添加完成

实现文件传递有效性

?网络数据的传输,一般需要加密处理 maven中采用SHA1数字签名的加密算法,保证数据传递的有效性(hash算法)

散列值形式:40个十六进制数

数字证书?? 判断哈希码值是否相同 不同数据小概率相同

摘要:对数据进行hash计算,生成的哈希码值为摘要(签名)

maven采用对称加密算法? 主流为非对称加密

关于Hash说明

1.常见hashcode值有多少16进制数组成? 8位

2.8位的16进制数有多少种排列组合? 2^32

3.相同的数据进行hash(算法相同),值是否相同?? 必定相同

4.不同数据进行hash(算法相同),值是否相同??可能相同 哈希碰撞

5.一个数据1kb,一个数据1GB ,哈希计算的速度谁快?? 一样快

SpringBoot高级用法

配置文件的说明

1.pro文件语法

数据结构类型:key=value? 特别注意:不要有空格

字符集编码:程序读取文件时,默认采用ISO-8859-1编码

弊端:所有的key都要写完整,不能缩进

2.yml文件语法

数据结构: key:(空格)value

层级代码结构,注意缩进

字符集:文件读取器时,默认采用UTF-8编码?

规则:命名时指定前缀

?

@RestController 作用

1.将该类交给Spring容器管理

2.SpringMVC负责调用该对象接收用户的请求

3.将业务处理之后,为页面返回JSON数据

@ResponseBody将数据转化为JSON串

动态为属性赋值

说明:数据写死不方便

方案:有些数据是后台特有的,一般将数据写到配置文件里

?利用yml文件为属性赋值

步骤:?

1.指定业务的Key

2.@Value("${Key}")
spel表达式${Key}
语法:从spring容器内取出key,动态为属性赋值

项目结构

@RestController
public class JDBCController {
    @Value("${mysql.name}")
    String name;
    @Value("${mysql.password}")
    String password;


    @RequestMapping("get")
    public String get(){

        return "你好"+name+password;
    }
}

问题

?原因

?配置文件的名字必须为application!!!

?利用properties文件为属性赋值

yml与pro

yml:系统配置文件,springboot的核心配置文件,用来整合第三方框架,耦合性高,所以写在pro文件中

如何将pro文件交给Spring容器管理

@PropertySource(“calsspath:/mysql.properties”)

@RestController
@PropertySource(value="classpath:/mysql.properties",encoding = "UTF-8")
public class JDBCController {
    @Value("${mysql.name}")
    String name;
    @Value("${mysql.password}")
    String password;
    @RequestMapping("/get")
    public String get(){
        return "你好"+name+password;
    }

    @Value("${mysql.name2}")
    String name2;
    @Value("${mysql.password2}")
    String password2;

    @RequestMapping("/get2")
    public String get2(){
        return "你好"+name2+password2;
    }
}
# 应用名称
spring.application.name=springboot_demo1
# 应用服务 WEB 访问端口
server.port=8080

mysql.name2=数据库
mysql.password2=你猜猜

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-09-28 00:07:30  更:2021-09-28 00:07:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 19:24:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码