关于springboot:京淘day01

2次阅读

共计 3721 个字符,预计需要花费 10 分钟才能阅读完成。

  1. 京淘我的项目架构设计

  1. 京淘项目表设计

2.1 表与表关系

秘籍: 以本人为核心登程

2.1.1 一对一

1. 商品与形容:一对一
2. 形容与商品:一对一

2.1.2 一对多

1. 商品分类与商品:一对多
2. 商品与商品分类:一对一

2.1.3 多对多

表设计: 角色与权限表
形容:一个角色对应多个权限. 一个权限对应多个角色.
表的个数: 3 张表

2.1.4 京淘表设计

2.2 导入数据库

导入命令: source 门路:/xxx.sql;

2.2.1 装置数据库工具

2.2.2 导入数据库

1). 导入数据库

2). 抉择 Sql 文件

2.3 筹备 IDEA 配置环境

2.3.1 筹备空文件

2.3.2 装置 lombok 插件

2.3.3 批改键位

2.3.3 批改鼠标缩放

2.3.4 智能提醒

2.3.5 构建我的项目

2.3.6 配置 maven

指定本人的 maven 配置

2.3.7 配置主动保留

2.3.8 批改主动提醒

启动构造方法的主动提醒

3.SpringBoot 高级利用

3.1 创立我的项目

3.2 增加 jar 包

3.3 对于 Maven 阐明

Maven 阐明: Maven 是一站式的项目管理工具. 能够创立我的项目 / 治理我的项目 / 我的项目打包 / 依赖 / 公布等.

3.3.1 对于 Maven 坐标的阐明

阐明:Maven 中有很多其余机构的开源的 jar 包文件, 未来通过坐标的模式进行对立的治理.

<dependency>
            <groupId>org.springframework.boot  公司域名倒写 </groupId>
            <artifactId>spring-boot-starter-web 项目名称 </artifactId>
            <version>XX  版本号 </version>
        </dependency>

jar 包地位:

阐明: 在 Maven 我的项目中如果 A.jar 依赖 B.jar ,B.jar 依赖 C.jar. 当程序通过依赖配置引入 A.jar 文件之后, 会主动的增加 B / C 的 jar 包文件.

mavenjar 包依赖的原理:
1). 当用户增加 jar 包文件时,maven 工具会依据 jar 包门路查问 jar 包文件

2). 当 maven 工具加载实现 jar 包之后, 会去解析该文件的 xxx.pom 文件, 之后解析该文件中是否还有 jar 包依赖, 至此实现依赖的传递性.

3.3.3 maven 工具如何实现 jar 包平安的传递

SHA-1(英语:Secure Hash Algorithm 1,中文名:平安散列算法 1)是一种明码散列函数 ,美国国家安全局设计,并由美国国家标准技术研究所(NIST)公布为联邦数据处理规范(FIPS)。SHA- 1 能够生成一个被称为 音讯摘要 的 160 位(20 字节)散列值,散列值通常的出现模式为 40 个十六进制数

常识:
1. 如果数据雷同, 问: hash 值是否雷同? 值是雷同的.
2. 问 一个数据 10K, 一个数据 1G 问 运算速度如何? 一样快 (约等于)
数据传递的流程:

3.4 SpringBoot POM.xml 文件阐明(一)

3.4.1 编辑 maven 在 IDEA 中展示的名称

3.4.2 对于 Maven 打包形式

3.4.3 jar 包文件运行测试

cmd 命令窗口输出: java -jar xxxxx.jar
cmd 命令窗口输出: ctrl + c 示意退出,比拟敌对

3.5 对于环境阐明

3.5.1 对于 JDK 配置

1). 查找 JDK 根目录

2). 配置环境变量 让 JDK 位于第一位即可

3.5.2 对于 Maven 阐明


2). 阿里云镜像 setting 文件的配置

 <mirror>
    <id>aliyun</id>
    <name>aliyun for maven</name>
    <mirrorOf>*</mirrorOf>
    <url>https://maven.aliyun.com/repository/public</url>
   </mirror>

3.6 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>
    <groupId>com.jt</groupId>
    <artifactId>springboot_demo1</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springboot_demo1</name>
    <!-- 打包品种:  jar war  pom(聚合我的项目 大型项目蕴含小我的项目)-->
    <packaging>jar</packaging>
    <description>Demo project for Spring Boot</description>

    <!--1.parent 标签作用: 定义我的项目版本依赖
        springBoot 官网进行调试之后的产品
        将 springBoot 所有关联的 jar 包对立的形式进行定义
    -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.0</version>
        <relativePath/>
    </parent>

    <properties>
        <!-- 指定 JDK 版本 -->
        <java.version>1.8</java.version>
        <!-- 跳过测试类打包 -->
        <skipTests>true</skipTests>
    </properties>

    <!-- 依赖的作用: 依赖须要的 jar 包文件  -->
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <!--spring-boot-starter-xxx springboot 启动项
            开箱即用:
             只须要引入特定的 jar 包简略的配置, 即能够应用该性能
             -->
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <!-- 让程序应用 maven 命令时, 依照指定插件运行 必须配置 -->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

3.7 SpringBoot 启动流程

3.7.1 元注解阐明

阐明: 润饰注解的注解称之为元注解
@Target(ElementType.TYPE) 该注解对类无效
@Retention(RetentionPolicy.RUNTIME) 示意运行期无效 整个周期
@Documented 动静生成文档信息
@Inherited 该注解是否容许被继承 容许

3.7.2 ComponentScan 注解阐明 - 排除过滤器启动

作用: 因为 SpringBoot 须要主动加载的项很多, 在这里用反向的形式排除某些加载项, 保障后续代码不抵触.

@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
        @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })

3.7.3 SpringBootConfiguration 注解阐明


通过注解得悉: 主启动类自身就是一个配置类.

作用:

3.7.4 EnableAutoConfiguration 注解作用

1).@AutoConfigurationPackage
规定: 指定了 springBoot 启动时包扫描的门路 应该在主启动类的同包及子包中下定义.
2).@Import(AutoConfigurationImportSelector.class)
阐明: 该注解次要示意当程序启动时,springBoot 外部会有多个选择器 顺次启动 . 选择器启动时会去加载 指定的 jar 包文件 . 这时 SpringBoot 中开箱即用的性能才正式起作用.
3).springBoot 启动时自动化配置程序,
在 application.properties 中配置 debug 在进行我的项目启动。

正文完
 0