这里写自定义目录标题
欢迎使用Markdown编辑器
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何
cgb2010-京淘项目Day02
1.SpringBoot高级用法
1.1 跳过测试类打包
1.1.1 业务场景说明
通常将项目进行打包时,不需要执行里边的测试的方法,因为测试方法只会出现在开发/测试阶段,正式的项目发布不需要该方法.但是有时测试方法更新不及时可能导致报错.影响程序的打包操作,如图
1.1.2 跳过测试类打包
说明:告知maven程序,在进行打包操作时,不要管测试方法.直接将源码打包即可. 该方法非常重要,
<properties>
<java.version>1.8</java.version>
<!--跳过测试类打包-->
<skipTests>true</skipTests>
</properties>
- 1
- 2
- 3
- 4
- 5
1.2 关于配置文件说明
1.2.1 SpringBoot常见配置文件
1.application.properties.
2.application.yml
1.2.2 properties说明
注意事项:
1.pro配置文件的格式 key=value
2.配置文件中无需添加多余的""号
3.写value时注意多余的空格…
4.SpringBoot程序在解析properties文件时 默认采用的字符集编码格式为ISO-8859-1.如果配置文件中有中文则注意乱码问题…
1.2.3 YML配置文件说明
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=tomcat猫 user.name改名称特殊 动态获取的是计算机的名称
user.username=tomcat猫
- 1
- 2
- 3
1.4.3 编辑UserController
页面效果展现:
1.5 SpringBoot环境切换
1.5.1 业务说明
说明: 软件开发时的环境称之为开发环境,软件测试时的环境称之为测试环境,由于环境不一致可能会频繁的修改其中的配置.如果配置文件比较繁琐则频繁修改会给程序带来不便.
想法: 能否有一种机制,只需要修改环境的名称就可以自动的实现内部环境的切换?
1.5.2 YML环境配置
# 语法: 1.数据结构 key:(空格)value
# 2.key与key之间有层级缩进的效果 特别注意
# 3.YML文件默认采用UTF-8格式,所以中文不乱码
#配置默认的环境名称
spring:
profiles:
active : prod
环境分割符
spring:
config:
activate:
on-profile: test
redis:
host: 10.3.5.16
port: 7000
#1.环境分割
#2.定义环境名称
spring:
config:
activate:
on-profile: prod
redis:
host: 192.168.1.100
port: 6379
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
1.6 热部署插件
1.6.1 添加jar包
<!--支持热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
- 1
- 2
- 3
- 4
- 5
1.6.2 配置IDEA环境
组合键: ctrl + shift +alt +/
1.7 添加lombok插件
1.7.1 添加jar包
<!--添加lombok包-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
- 1
- 2
- 3
- 4
- 5
1.7.2 编辑POJO
package com.jt.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
@Data //动态添加get/set/toString/equals/hash方法
@Accessors(chain = true) //链式加载
@NoArgsConstructor
@AllArgsConstructor //要么都没有.要写一起写
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
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
1.7.3 关于lombok面试题
由于lombok需要安装插件,否则程序无法正常使用. 如果在生产环境下 问Linux系统中是否需要提前安装LomBok??? B不需要
原因: Lombok插件在程序的编译期有效. 由.java文件编译为.class文件时有效.
Linux系统中的运行时xxx.jar包文件 内部都是.class文件.
2 SpringBoot整合Mybatis
2.1 创建项目
2.2 项目结构
2.3 关于配置文件说明
2.3.1 数据源配置
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/jtdb?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
username: root
password: root
- 1
- 2
- 3
- 4
- 5
1.serverTimezone=GMT+8 %2B +
2. useUnicode=true&characterEncoding=utf8 是否允许使用unicode编码 字符集使用utf-8格式
3. autoReconnect=true 是否断线自动重连.
4. allowMultiQueries=true 是否允许批量查询
2.3.2 关于Mybatis配置
#配置tomcat服务器相关信息
server:
port: 8090
servlet:
#项目发布路径 一般都是默认值/
context-path: /
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/jtdb?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
username: root
password: root
#添加mybatis相关配置信息
mybatis:
#只要定义了别名包 之后的映射类型可以自动的完成拼接.
type-aliases-package: com.jt.demo.pojo
mapper-locations: classpath:/mybatis/mappers/*.xml
#开启驼峰映射
configuration:
map-underscore-to-camel-case: true
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
2.3.3 关于映射文件说明
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.jt.demo.mapper.UserMapper">
<!--由于定义了别名包,所以映射时只需要写类名即可--> <select id="findAll" resultType="User"> select * from user </select> <!-- 设定驼峰规则 对象属性 User(userId,userName,userAge) 表字段 user (user_id,user_name,user_age) 驼峰规则映射策略: 字段信息:user_id ~~~~~ 去除中间下划线~~~~~首字母大写 ~~~~userId~~~映射给userId的属性 注意事项: 如果开启了驼峰规则映射,则必须满足特定的要求 -->
</mapper>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
3 MybatisPlus学习
3.1 MybatisPlus介绍
MyBatis-Plus (opens new window)(简称 MP)是一个 MyBatis (opens new window)的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
3.2 MybatisPlus 特性
无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑
损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作
强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错
支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键问题
支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作
支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere )
内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎,更有超多自定义配置等您来使用
内置分页插件:基于 MyBatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List 查询
分页插件支持多种数据库:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多种数据库
内置性能分析插件:可输出 Sql 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询
内置全局拦截插件:提供全表 delete 、 update 操作智能分析阻断,也可自定义拦截规则,预防误操作
3.3 ORM思想
对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序设计技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。如今已有很多免费和付费的ORM产品,而有些程序员更倾向于创建自己的ORM工具。
概括: 使用对象的方式操作数据库.
3.4 MybatisPlus工作原理
1).对象(属性)与数据库中的表(字段)一一映射. 利用注解实现映射
2).将公共的CRUD的接口的方法进行抽取,采用父级的方式进行定义,如果需要子级只需继承即可.
3).由于用户操作的是对象,但是数据库只能识别Sql语句.所以需要将对象按照特定的规则转化为Sql.
3.5 MybatisPlus入门案例
3.5.1导入jar包
<!--添加mybatisplus包-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
- 6
3.5.2 编辑POJO 建立映射
3.5.3 继承公共的接口
3.5.4 编辑YML配置文件
3.5.5 测试案例
3.6 MP API介绍
package com.jt.demo.test;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jt.demo.mapper.UserMapper;
import com.jt.demo.pojo.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.Arrays;
import java.util.List;
@SpringBootTest
public class TestMybatis {
@Autowired
private UserMapper userMapper;
@Test
public void testFindAll(){
List<User> userList = userMapper.findAll();
System.out.println(userList);
}
/*
* 完成用户信息入库
*/
@Test
public void testInsert(){
User user = new User();
user.setName("郑爽").setAge(30).setSex("女");
//单表sql语句几乎不写
userMapper.insert(user);
}
/**
* 查询案例1: 查询Id=4 的用户
* Id代表主机的含义
*/
@Test
public void testSelectById(){
User user = userMapper.selectById(4);
System.out.println(user);
}
/**
* 查询案例2: 查询name="八戒"的人
* Sql: select * from user where name="八戒"
* QueryWrapper<> 条件构造器 用来拼接where条件
* 常见逻辑运算符: = eq, > gt , < lt
* >= ge, <= le
*/
@Test
public void testSelectByName(){
/*
该方法只能做=号的判断
User user = new User();
user.setName("八戒");
//根据对象中不为null的属性拼接where条件
QueryWrapper<User> queryWrapper = new QueryWrapper<>(user);
List<User> userList = userMapper.selectList(queryWrapper);
System.out.println(userList);*/
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", "小乔");
System.out.println(userMapper.selectList(queryWrapper));
}
/**
* 查询案例3: 查询age>18岁,并且name中包含 *精*用户
* Sql: select * from user where age>18 and name like '%精%'
* 如果中间是and连接符可以省略不写
*/
@Test
public void testSelectAnd(){
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.gt("age", 18)
.like("name", "精");
System.out.println(userMapper.selectList(queryWrapper));
}
/**
* 查询案例4:
* 查询name不为null的用户,并且 sex=女, name要求以"君"结尾
* 最后将数据按照id倒序排列
*/
@Test
public void testSelectDemo4(){
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.isNotNull("name")
.eq("sex", "女")
.likeLeft("name", "君")
.orderByDesc("id");
System.out.println(userMapper.selectList(queryWrapper));
}
/**
* 批量查询: 查询id=1,2,5,7,8 1000 的数据
* 关键字: in
*/
@Test
public void testSelectIn(){
//数据基本结构没有取值方法.所以需要通过集合处理.
Integer[] idArray = {1,2,5,7};
//数组转化时使用包装类型
List<Integer> idList = Arrays.asList(idArray);
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.in("id", idList);
System.out.println(userMapper.selectList(queryWrapper));
//该方法与上述操作sql一致,只不过写法不同
userMapper.selectBatchIds(idList);
//获取数据表中第一个字段信息(主键)
System.out.println(userMapper.selectObjs(null));
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
复习ajax
$.get
$.post
$.getJSON
$.ajax()
$.getScript
$.load
- 1
- 2
闪耀太阳的小店 <a class="csdn-shop-window-link shop-window-need-show" href="javascript:;"><i></i>更多</a>
<a data-report-click="{"spm": "3001.5757"}" class="csdn-shop-window-open" href="https://mp.csdn.net/console/MyShop" target="_blank">我也想开通小店</a>
</h5>
<div class="csdn-shop-window-body">
<a class="csdn-shop-window-item" data-id="81886" data-name="Java核心技术 卷I 基础知识(原书第11版)" href="javascript:;">
<img src="https://img-mid.csdnimg.cn/release/static/image/mall/16081747024919850.png?x-oss-process=image/resize,w_600,h_600,m_pad" alt="">
<div class="csdn-shop-window-item-content">
<h6 title="Java核心技术 卷I 基础知识(原书第11版)">Java核心技术 卷I 基础知识(原书第11版)</h6>
<p class="csdn-shop-window-item-info">
<span><em title="">作者:暂无</em></span><span><em title="">出版社:机械工业出版社</em></span>
</p>
<p class="csdn-shop-window-price-info">
<span class="shop-window-need-hide"><em>好评:100%</em></span>
<span><em>销售量:0</em></span>
<i>¥89.4</i>
</p>
</div>
</a><a class="csdn-shop-window-item" data-id="81887" data-name="Java核心技术 卷II 高级特性(原书第11版)" href="javascript:;">
<img src="https://img-mid.csdnimg.cn/release/static/image/mall/16081746222934951.png?x-oss-process=image/resize,w_600,h_600,m_pad" alt="">
<div class="csdn-shop-window-item-content">
<h6 title="Java核心技术 卷II 高级特性(原书第11版)">Java核心技术 卷II 高级特性(原书第11版)</h6>
<p class="csdn-shop-window-item-info">
<span><em title="">作者:暂无</em></span><span><em title="">出版社:机械工业出版社</em></span>
</p>
<p class="csdn-shop-window-price-info">
<span class="shop-window-need-hide"><em>好评:100%</em></span>
<span><em>销售量:0</em></span>
<i>¥89.4</i>
</p>
</div>
</a>
<a class="csdn-shop-window-link shop-window-need-hide" href="javascript:;"><i></i><span>更多</span></a>
</div>
</div></div>
<a class="csdn-shop-window-link shop-window-need-show" href="javascript:;"><i></i>更多</a>
<a data-report-click="{"spm": "3001.5757"}" class="csdn-shop-window-open" href="https://mp.csdn.net/console/MyShop" target="_blank">我也想开通小店</a>
</h5>
<div class="csdn-shop-window-body">
<a class="csdn-shop-window-item" data-id="81886" data-name="Java核心技术 卷I 基础知识(原书第11版)" href="javascript:;">
<img src="https://img-mid.csdnimg.cn/release/static/image/mall/16081747024919850.png?x-oss-process=image/resize,w_600,h_600,m_pad" alt="">
<div class="csdn-shop-window-item-content">
<h6 title="Java核心技术 卷I 基础知识(原书第11版)">Java核心技术 卷I 基础知识(原书第11版)</h6>
<p class="csdn-shop-window-item-info">
<span><em title="">作者:暂无</em></span><span><em title="">出版社:机械工业出版社</em></span>
</p>
<p class="csdn-shop-window-price-info">
<span class="shop-window-need-hide"><em>好评:100%</em></span>
<span><em>销售量:0</em></span>
<i>¥89.4</i>
</p>
</div>
</a><a class="csdn-shop-window-item" data-id="81887" data-name="Java核心技术 卷II 高级特性(原书第11版)" href="javascript:;">
<img src="https://img-mid.csdnimg.cn/release/static/image/mall/16081746222934951.png?x-oss-process=image/resize,w_600,h_600,m_pad" alt="">
<div class="csdn-shop-window-item-content">
<h6 title="Java核心技术 卷II 高级特性(原书第11版)">Java核心技术 卷II 高级特性(原书第11版)</h6>
<p class="csdn-shop-window-item-info">
<span><em title="">作者:暂无</em></span><span><em title="">出版社:机械工业出版社</em></span>
</p>
<p class="csdn-shop-window-price-info">
<span class="shop-window-need-hide"><em>好评:100%</em></span>
<span><em>销售量:0</em></span>
<i>¥89.4</i>
</p>
</div>
</a>
<a class="csdn-shop-window-link shop-window-need-hide" href="javascript:;"><i></i><span>更多</span></a>
</div>
</div></div>
大家一起学习和参考。如有新的使用的快捷键也可留言 谢谢!
1.快速生成代码—–连续两次Tab键:
快速生成for循环—使用方法 代码中输入for,然后连续按两次Tab键
快速生成try—catch—使用方法 代码中输入try,然后连续按两次Tab键
2.快速查看方法/类定义—–…
<textarea class="comment-content" name="comment_content" id="comment_content" placeholder="优质评论可以帮助作者获得更高权重" maxlength="1000"></textarea>
<div class="comment-emoticon"><img class="comment-emoticon-img" data-url="https://csdnimg.cn/release/blogv2/dist/pc/img/" src="https://csdnimg.cn/release/blogv2/dist/pc/img/emoticon.png" alt="表情包"></div>
<span class="comment-emoticon-tip">插入表情</span>
<div class="comment-emoticon-box" style="display: none;">
<div class="comment-emoticon-img-box">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:001.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/001.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:002.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/002.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:003.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/003.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:004.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/004.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:005.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/005.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:006.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/006.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:007.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/007.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:008.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/008.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:009.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/009.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:010.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/010.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:011.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/011.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:012.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/012.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:013.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/013.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:014.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/014.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:015.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/015.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:016.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/016.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:017.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/017.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:018.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/018.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:019.png[/face]" src="https://i-blog.csdnimg.cn/blog_migrate/cab96bb8c57e124d6e1d883024e77bc5.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:020.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/020.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:021.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/021.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:022.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/022.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:023.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/023.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:024.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/024.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:025.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/025.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:026.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/026.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:027.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/027.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:028.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/028.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:029.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/029.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:030.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/030.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:031.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/031.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:032.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/032.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:033.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/033.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:034.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/034.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:035.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/035.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:036.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/036.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:037.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/037.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:038.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/038.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:039.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/039.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:040.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/040.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:041.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/041.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:042.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/042.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:043.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/043.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:044.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/044.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:045.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/045.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:046.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/046.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:047.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/047.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:048.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/048.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:049.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/049.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:050.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/050.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:051.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/051.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:052.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/052.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:053.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/053.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:054.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/054.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:055.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/055.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:056.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/056.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:057.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/057.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:058.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/058.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:059.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/059.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:060.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/060.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:061.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/061.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:062.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/062.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:063.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/063.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:064.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/064.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:065.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/065.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:066.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/066.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:067.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/067.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:068.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/068.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:069.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/069.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:070.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/070.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:071.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/071.png">
<img class="emoticon-monkey-img" data-emoticon="[face]emoji:072.png[/face]" src="https://g.csdnimg.cn/static/face/emoji/072.png">
</div>
</div>
<div class="opt-box">
<div id="ubbtools" class="add_code">
<a href="#insertcode" code="code" target="_self"><i class="icon iconfont icon-daima"></i></a>
</div>
<input type="hidden" id="comment_replyId" name="comment_replyId">
<input type="hidden" id="article_id" name="article_id" value="112799468">
<input type="hidden" id="comment_userId" name="comment_userId" value="">
<input type="hidden" id="commentId" name="commentId" value="">
<div class="dropdown" id="myDrap">
<a class="dropdown-face d-flex align-items-center" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
<div class="txt-selected text-truncate">添加代码片</div>
<svg class="icon d-block" width="200px" height="100.00px" viewBox="0 0 2048 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path d="M597.33333292 298.666667h853.333334L1023.99999992 725.333333 597.33333292 298.666667z"></path></svg>
</a>
<ul class="dropdown-menu" id="commentCode" aria-labelledby="drop4">
<li><a data-code="html">HTML/XML</a></li>
<li><a data-code="objc">objective-c</a></li>
<li><a data-code="ruby">Ruby</a></li>
<li><a data-code="php">PHP</a></li>
<li><a data-code="csharp">C</a></li>
<li><a data-code="cpp">C++</a></li>
<li><a data-code="javascript">JavaScript</a></li>
<li><a data-code="python">Python</a></li>
<li><a data-code="java">Java</a></li>
<li><a data-code="css">CSS</a></li>
<li><a data-code="sql">SQL</a></li>
<li><a data-code="plain">其它</a></li>
</ul>
</div>
<div class="right-box" id="rightBox" data-type="2">
<span id="tip_comment" class="tip">还能输入<em>1000</em>个字符</span>
<a data-report-click="{"mod":"1582594662_003","spm":"1001.2101.3001.4227","ab":"new"}"><input type="submit" class="btn btn-sm btn-comment" value="发表评论"></a>
</div>
</div>
</form>
<input type="button" class="bt-comment-show" value="评论">
</div>
<div class="comment-list-container" style="display: block;">
<a id="comments"></a>
<div class="comment-list-box"><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="15176680" data-replyname="weixin_52181872"><div style="display: flex;width: 100%;"> <a target="_blank" href="https://blog.csdn.net/weixin_52181872"><img src="https://profile.csdnimg.cn/D/D/1/3_weixin_52181872" username="weixin_52181872" alt="weixin_52181872" class="avatar"></a> <div class="right-box "> <div class="new-info-box clearfix"> <a target="_blank" href="https://blog.csdn.net/weixin_52181872"><span class="name ">ColdwY</span></a><span class="colon">:</span><span class="floor-num"></span><span class="new-comment">想念江哥的第五天,加油</span><span class="date" title="2021-02-27 10:07:11">5 月前</span><span class="new-opt-floating"><a class="btn-bt btn-reply" data-type="reply" data-flag="true">回复</a><a class="btn-bt btn-report"><img class="btn-report-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentMore.png" title=""><span data-type="report" class="hide-report">举报</span></a></span></div><div class="comment-like " data-commentid="15176680"><img class="comment-like-img unclickImg" src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentUnHeart.png" title="点赞"><img class="comment-like-img comment-like-img-hover" style="display:none" src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentActiveHeart.png" title="点赞"><img class="comment-like-img clickedImg" src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentActiveHeart.png" title="点赞"><span>1</span></div></div></div></li></ul><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="15948626" data-replyname="m0_51067047"><div style="display: flex;width: 100%;"> <a target="_blank" href="https://blog.csdn.net/m0_51067047"><img src="https://profile.csdnimg.cn/3/8/5/3_m0_51067047" username="m0_51067047" alt="m0_51067047" class="avatar"></a> <div class="right-box "> <div class="new-info-box clearfix"> <a target="_blank" href="https://blog.csdn.net/m0_51067047"><span class="name ">RYGAR</span></a><span class="colon">:</span><span class="floor-num"></span><span class="new-comment">来咯来咯<img src="//g.csdnimg.cn/static/face/monkey2/005.png" alt="表情包"></span><span class="date" title="2021-04-15 21:07:47">3 月前</span><span class="new-opt-floating"><a class="btn-bt btn-reply" data-type="reply" data-flag="true">回复</a><a class="btn-bt btn-report"><img class="btn-report-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentMore.png" title=""><span data-type="report" class="hide-report">举报</span></a></span></div><div class="comment-like " data-commentid="15948626"><img class="comment-like-img unclickImg" src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentUnHeart.png" title="点赞"><img class="comment-like-img comment-like-img-hover" style="display:none" src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentActiveHeart.png" title="点赞"><img class="comment-like-img clickedImg" src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentActiveHeart.png" title="点赞"><span></span></div></div></div></li><li class="replay-box" style="display:block"><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="15954211" data-replyname="qq_16804847"><div style="display: flex;width: 100%;"> <a target="_blank" href="https://blog.csdn.net/qq_16804847"><img src="https://profile.csdnimg.cn/7/7/2/3_qq_16804847" username="qq_16804847" alt="qq_16804847" class="avatar"></a> <div class="right-box "> <div class="new-info-box clearfix"> <a target="_blank" href="https://blog.csdn.net/qq_16804847"><span class="name mr-8">闪耀太阳<img class="is_bloger" src="https://csdnimg.cn/release/blogv2/dist/components/img/bloger@2x.png"></span></a><span class="text">回复</span><span class="colon">:</span><span class="text"></span><span class="new-comment">你要加油呀</span><span class="date" title="2021-04-16 10:03:38">3 月前</span><span class="new-opt-floating"><a class="btn-bt btn-reply" data-type="reply" data-flag="true">回复</a><a class="btn-bt btn-report"><img class="btn-report-img" src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentMore.png" title=""><span data-type="report" class="hide-report">举报</span></a></span></div><div class="comment-like " data-commentid="15954211"><img class="comment-like-img unclickImg" src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentUnHeart.png" title="点赞"><img class="comment-like-img comment-like-img-hover" style="display:none" src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentActiveHeart.png" title="点赞"><img class="comment-like-img clickedImg" src="https://csdnimg.cn/release/blogv2/dist/pc/img/commentActiveHeart.png" title="点赞"><span></span></div></div></div></li></ul></li></ul></div>
<div id="commentPage" class="pagination-box d-none" style="display: block;"><div id="Paging_09886699553107863" class="ui-paging-container"><ul><li class="js-page-first js-page-action ui-pager ui-pager-disabled"></li><li class="js-page-prev js-page-action ui-pager ui-pager-disabled"><</li><li data-page="1" class="ui-pager focus">1</li><li class="js-page-next js-page-action ui-pager ui-pager-disabled">></li><li class="js-page-last js-page-action ui-pager ui-pager-disabled"></li></ul></div></div>
</div>
1.1知识点概述
1).SpringBoot框架使用(SpringMvc,spring.mybatis/mybstisPlus)自己完成代码
3).学习企业中不同项目之间如何进行交互,AJAX/跨域思想/HttpClien业务调用/Dubbo微服务框架
4).真实完成项目实践,将自己的项目部署到服务器中(Linux)通过域名直接访问
5).概念(什么是什么?)||重点理解核心的代码(编程思维-自己思考问题的思路)
1.2京涛架构的设计
常识:
1.toma.
热门文章
最新评论
最新文章
新的改变
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
- 全新的界面设计 ,将会带来全新的写作体验;
- 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
- 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
- 全新的 KaTeX数学公式 语法;
- 增加了支持甘特图的mermaid语法1 功能;
- 增加了 多屏幕编辑 Markdown文章功能;
- 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
- 增加了 检查列表 功能。
功能快捷键
撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G
合理的创建标题,有助于目录的生成
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
如何改变文本的样式
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
插入链接与图片
链接: link.
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
如何插入一段漂亮的代码片
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
生成一个适合你的列表
- 项目
- 项目
- 项目
- 项目
- 项目1
- 项目2
- 项目3
- 计划任务
- 完成任务
创建一个表格
一个简单的表格是这么创建的:
项目 | Value |
---|---|
电脑 | $1600 |
手机 | $12 |
导管 | $1 |
设定内容居中、居左、居右
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文本居中 | 第二列文本居右 | 第三列文本居左 |
SmartyPants
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:
TYPE | ASCII | HTML |
---|---|---|
Single backticks | 'Isn't this fun?' | ‘Isn’t this fun?’ |
Quotes | "Isn't this fun?" | “Isn’t this fun?” |
Dashes | -- is en-dash, --- is em-dash | – is en-dash, — is em-dash |
创建一个自定义列表
-
Markdown
- Text-to- HTML conversion tool Authors
- John
- Luke
如何创建一个注脚
一个具有注脚的文本。2
注释也是必不可少的
Markdown将文本转换为 HTML。
KaTeX数学公式
您可以使用渲染LaTeX数学表达式 KaTeX:
Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n−1)!∀n∈N 是通过欧拉积分
Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多关于的信息 LaTeX 数学表达式here.
新的甘特图功能,丰富你的文章
- 关于 甘特图 语法,参考 这儿,
UML 图表
可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:
这将产生一个流程图。:
- 关于 Mermaid 语法,参考 这儿,
FLowchart流程图
我们依旧会支持flowchart的流程图:
- 关于 Flowchart流程图 语法,参考 这儿.
导出与导入
导出
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。
导入
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。
注脚的解释 ↩︎
测试好家伙: 博主写的非常清晰啊,对我很有帮助谢谢啦,欢迎回评哦~
测试好家伙: 放弃不难,但坚持一定很酷,加油,奥里给!,欢迎回评哦~
weixin_44825489: 江哥好棒,想跟江哥生猴子表情包
weixin_57689489: 全体起立给江哥敬礼
smartboysu: 我江哥写的细致入微,浅显易懂