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相关的说明

CGB2010 第四阶段 day01和02_第1张图片

parent标签的作用

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

关于依赖项的说明


    
    
        org.springframework.boot
        spring-boot-starter-web
    

    
        org.springframework.boot
        spring-boot-starter-test
        test
    
    
    
        junit
        junit
        4.13.1
        test
    

关于maven插件的说明

1.项目发布命令

关于jdk说明

找到自己jdk的目录
 

简述springBoot启动流程

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

知识点说明

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


    org.springframework.boot
    
    spring-boot-starter-web

 

 

1. SpringBoot高级用法

1.1 跳过测试类打包

1.1.1业务场景说明

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

1.1.2 跳过测试类打包

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


    1.8
    
    true

 

 

1.2.2propertis说明

注意事项:

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

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

4.springboot程序在解析propertis

1.2.3yml配置文件

CGB2010 第四阶段 day01和02_第2张图片

1.3 为属性赋值

1.3.1编辑YML配置文件

CGB2010 第四阶段 day01和02_第3张图片

1.3.2 编辑YML配置文件

CGB2010 第四阶段 day01和02_第4张图片

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 页面效果展示

CGB2010 第四阶段 day01和02_第5张图片

 

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包

        
        
            org.springframework.boot
            spring-boot-devtools
        

1.6.2 配置IDEA环境

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

CGB2010 第四阶段 day01和02_第6张图片

CGB2010 第四阶段 day01和02_第7张图片

1.7 添加lombok插件

1.7.1添加jar包


        
            org.projectlombok
            lombok
        

 

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

CGB2010 第四阶段 day01和02_第8张图片

ok

  CGB2010 第四阶段 day01和02_第9张图片

CGB2010 第四阶段 day01和02_第10张图片

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注解上注入依赖报错但是程序能够正常运行将其报错的修改为警告

CGB2010 第四阶段 day01和02_第11张图片

 

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包


        
            com.baomidou
            mybatis-plus-boot-starter
            3.2.0
        

 

3.6 MP API介绍

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(笔记)