CGB2010 第四阶段 day01和02

# 1.京淘项目说明

 

## 1.1知识点概述


1).SpringBoot框架使用(SpringMvc,spring.mybatis/mybstisPlus)自己完成代码
3).学习企业中不同项目之间如何进行交互,AJAX/跨域思想/HttpClien业务调用/Dubbo微服务框架
4).真实完成项目实践,将自己的项目部署到服务器中(Linux)通过域名直接访问
5).概念(什么是什么?)||重点理解核心的代码(编程思维-自己思考问题的思路)

## 1.2京涛架构的设计


常识:
1.tomacat服务器并发能力   没有调优 150-220次/秒 大约200次/秒
                                            JVM调优  1000次/秒 
2.mysql数据库能够支持的最大的并发**链接数**:1000     (一秒之内可能做多次操作)


## 1.3关于数据库表的设计


设计原则:考虑问题时,一定要一头考虑,常用的关联关系  主外键关联
主外键设计原则:我自己的主键可以充当别人的外键
核心知识:主键不能重复,外键可以重复.
## #1.3.1一对一
业务场景:用户表(User)与用户详情表(User_info)
表关系:    一个用户对应一个用户详情     一对一
                一个用户详情对应一个用户      一对一    (典型的一对一)

1.3.2一对多

业务场景:员工和门

表分析:一个员工对应一个部门 

            一个部门对应多员工

 

3.SpringBoot相关的说明

parent标签的作用

<!--
    springboot官方将自身所拥有的jar包的文件进行了统一的管理定义(冲突问题最大程度是得到了解决)
    防止内部jar包得文件冲突
-->

在之前旧项目中需要手动导入jar包文件,并且额外注意jar包得版本问题,以防版本重复,但凡

关于依赖项的说明

<dependencies>
    <!--按照需要的jar包进行依赖,但是不需要指定版本号,
    因为父级项目中进行了统一的定义
    -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/junit/junit -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.1</version>
        <scope>test</scope>
    </dependency>
</dependencies>

关于maven插件的说明

1.项目发布命令

关于jdk说明

找到自己jdk的目录
 

简述springBoot启动流程

考点:对于springboot程序的开箱即用的原则是否理解..

知识点说明

开箱即用:只需要导入简单的jar文件,就可以实现对应的功能无需(少量)繁琐的配置

<dependency>
    <groupId>org.springframework.boot</groupId>
    <!--spring-boot-start启动项 springboot官网已经完成了基础设置,无需再次配置-->
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

 

 

1. SpringBoot高级用法

1.1 跳过测试类打包

1.1.1业务场景说明

通常将项目进行打包时,不需要执行里面的测试方法,因为测试方法只会

1.1.2 跳过测试类打包

说明:告知maven程序,在进行打包操作时

<properties>
    <java.version>1.8</java.version>
    <!--通过测试类打包-->
    <skipTests>true</skipTests>
</properties>

 

 

1.2.2propertis说明

注意事项:

1.pro配置文件的格式key=value

2.配置文件中无需添加多于的"号"
3.写value是注意多余的空格...

4.springboot程序在解析propertis

1.2.3yml配置文件

1.3 为属性赋值

1.3.1编辑YML配置文件

1.3.2 编辑YML配置文件

1.4利用properties为属性赋值

1.4.1 业务说明

如果将程序中所有的业务数据都保存到YML配置文件中,则显得很臃肿,

不方便日后管理.所以将业务数据应该保存到指定的properties文件中.

1.4.2 编辑properties

user.id=100
#user.name猫  该名称特殊 动态获取计算机的名称
user.username=tomcat猫

1.4.3 编辑userController


@RestController
//程序运行时加载指定的配置文件
@PropertySource(value = "classpath:/properties/user.properties",encoding = "UTF-8")
public class UserController {
 /*
 利用properties方式为属性赋值
  */
    @Value("${user.id}")
    private Integer id;
    @Value("${user.username}")
    private  String name;
    @RequestMapping("/getMsg")
    public String getMsg(){
        return id+":"+name;
    }
}

 

1.4.4 页面效果展示

 

1.5 springBoot环境切换

1.5.1 业务说明

说明;软件开发是的环境称之为开发环境,软件测试的环境称之为测试环境,由于环境不一致可能会频繁的

修改其中的配置,如果配置文件比较繁琐修改会给程序带来不便

想法:能否有一种机制,只需要修改环境名称就可以自动实现内部环境的切换

1.5.2 YML环境配置

# 语法: 1.数据结构 key:(空格)value
#       2.key与key之间有层级缩进的效果 特别注意
#       3.YML文件默认才用UTF-8格式,所以中文不乱码
#配置默认的环境名称
spring:
  profiles:
    active: test
---
spring:
  config:
    activate:
      on-profile: test

redis:
  host: 10.3.5.16
  port: 7000

#1.环境的分割符(---)
---
#2.定义环境的名称
spring:
  config:
    activate:
      on-profile: prod

redis:
  host: 162.168.1.1
  port: 6379

1.6 热部署插件

1.6.1 添加jar包

        <!--支持热部署 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>

1.6.2 配置IDEA环境

组合键:ctrl+Alt+Shift+/  选中第一个Registry

1.7 添加lombok插件

1.7.1添加jar包

<!--添加lombok包-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

 

添加依赖快捷键:Alt+insert    选中第一个

ok

  

1.7.2 编辑pojo

package com.jt.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

@Accessors(chain = true)//链式加载
@AllArgsConstructor
@NoArgsConstructor
@Data//动态添加get/set/toString/equals/hash方法
public class User {
    private Integer id;
    private String name;
    private Integer age;
    private String sex;
//    //链式加载原理  重构set方法
//
//    public User setId(Integer id) {
//        this.id = id;
//        return this;
//    }
//    public User setName(String name) {
//        this.name = name;
//        return this;
//    }
}

1.7.3关于lombok面试题

由于lombok需要安装插件,否则程序无法正常使用,如果在生产环境下 问Linux系统中是否需要提前安装lombok??  ---------不需要

原因:lombok插件在程序编译时期有效  由.java文件编译为.class文件是有效

Linux系统中的运行时xxx.jar包文件内部都是.class文件.

如果@Autowrid注解上注入依赖报错但是程序能够正常运行将其报错的修改为警告

 

3.mybatisPlus学习

3.1mybatisPlus介绍

3.2MybatisPlus特性

3.3ORM(对象关系映射)思想

3.4mybatisPuls工作原理

1).对象(属性)与数据库中的表(字段)---映射.利用注解实现映射@TableName("user")

2).将公共的CRUD接口的方法进行抽取,采用父级的方式进行定义,如果需要子级只需继承即可

3).由于用户操作的是对象,但是数据库只能识别sql语句,所以需要将对象按照特定规则转化为sql

如何转化:

1).userMapper.insert(user);

Sql:insert into user(id,name,age,sex) values(id,name,age,sex) 

将封装好的sql交给mybatis执行

 

3.5MybatisPlus入门案例

3.5.1导入jar包

<!--   添加mybatisPlus包 里面已经包含了mybatis了    -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.2.0</version>
        </dependency>

 

3.6 MP API介绍

 

 

 

 

 

 

 

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值