example update

This commit is contained in:
markilue 2022-05-15 19:44:14 +08:00
parent c91f81e123
commit a6ecd98793
1511 changed files with 245878 additions and 0 deletions

View File

@ -0,0 +1,27 @@
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>DataStructures_Algorithm</artifactId>
<groupId>com.atguigu.DataStructures_Algorithm</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>DataStructures</artifactId>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>7</source>
<target>7</target>
</configuration>
</plugin>
</plugins>
</build>
</project>

View File

@ -0,0 +1,348 @@
package com.atguigu.avl;
public class AVLTreeDemo {
public static void main(String[] args) {
int[] arr={10, 11, 7, 6, 8, 9 };
//创建一个AVLTree
AVLTree avlTree = new AVLTree();
//添加节点
for (int i = 0; i < arr.length; i++) {
avlTree.add(new Node(arr[i]));
}
//遍历
System.out.println("中序遍历");
avlTree.midOrder();
System.out.println("做平衡处理");
System.out.println("树的高度="+avlTree.root.height()); //3
System.out.println("左子树的高度="+avlTree.root.left.height()); //2
System.out.println("右子树的高度="+avlTree.root.right.height()); //2
System.out.println(avlTree.root);
}
}
//创建AVLTree
class AVLTree{
public Node root;
//查找要删除的节点
public Node search(int value){
if(root ==null){
return null;
}else {
return root.search(value);
}
}
//查找父节点
public Node searchParent(int value){
if(root ==null){
return null;
}else {
return root.searchParent(value);
}
}
/**
*1.返回以node为根节点的二叉排序树的最小节点的值
* 2.删除node为根节点的二叉排序树的最小节点
* @param node 传入的节点(当做二叉排序树的根节点)
* @return 返回以node为根节点的二叉排序树的最小节点的值
*/
public int delRightTreeMin(Node node){
Node min =node;
//U型你换查找左节点,就会找到最小值
while(min.left !=null){
min=min.left;
}
//这时min指向了最小的节点
//删除最小节点
delNode(min.value);
return min.value;
}
//删除节点
public void delNode(int value){
if(root ==null){
return;
}else {
//1.找到要删除的节点targetNode
Node targetNode = search(value);
if(targetNode==null){
return;
}
//如果当前二叉排序树只有一个节点
if(root.left==null&&root.right==null){
root=null;
return;
}
//去找到targetNode的父节点
Node parent = searchParent(value);
//如果要删除的节点是叶子节点
if(targetNode.left==null&&targetNode.right==null){
//判断targetNode是父节点的左子节点,还是右子节点
if(parent.left!=null&&parent.left.value==targetNode.value){
parent.left=null;
}else if(parent.right!=null&&parent.right.value==targetNode.value){
parent.right=null;
}
}else if(targetNode.left !=null && targetNode.right!=null){
int minVal = delRightTreeMin(targetNode.right);
targetNode.value=minVal;
}else {
//删除只有一颗子树的节点
//左子节点
if(targetNode.left !=null){
if(parent !=null){
if(parent.left.value==value){
parent.left=targetNode.left;
}else {
parent.right=targetNode.right;
}
}else {
root=targetNode.left;
}
}else {
if(parent !=null){
if(parent.left.value==value){
parent.left=targetNode.right;
}else {
parent.right=targetNode.right;
}
}else {
root=targetNode.right;
}
}
}
}
}
//添加节点的方法
public void add(Node node){
if(root==null){
root=node;
}else {
root.add(node);
}
}
//中序遍历
public void midOrder(){
if(root!=null){
root.midOrder();
}else {
System.out.println("当前二叉排序树为空");
}
}
}
class Node {
int value;
Node left;
Node right;
public Node(int value) {
this.value = value;
}
//返回左子树的高度
public int leftHeight(){
if(left==null){
return 0;
}
return left.height();
}
//返回左子树的高度
public int rightHeight(){
if(right==null){
return 0;
}
return right.height();
}
//返回当前节点的高度,以该节点为根节点的数的高度
public int height() {
return Math.max(left == null ? 0 : left.height(), right == null ? 0 : right.height()) + 1;
}
//左旋转
public void leftRotate(){
//创建新的节点,以当前根节点的值
Node newNode = new Node(value);
//把新的节点的左子树设置为当前节点的左子树
newNode.left=this.left;
//把新的节点的右子树设置成当前节点的右子树的左子树
newNode.right=this.right.left;
//把当前节点的值替换成右子节点值
this.value=this.right.value;
//把当前节点的右子树设置成当前节点的右子树的右子树
this.right=this.right.right;
//把当前节点的左子树设置成新的节点
this.left=newNode;
}
//右旋转
public void rightRotate(){
Node newNode = new Node(value);
newNode.right=this.right;
newNode.left=this.left.right;
this.value=this.left.value;
this.left=this.left.left;
this.right=newNode;
}
/**
* 查找要删除的节点
*
* @param value 希望要删除的节点的值
* @return 如果找到返回该节点, 否则返回null
*/
//查找要删除的节点
public Node search(int value) {
if (value == this.value) {
return this;
} else if (value < this.value) {
//查找的值小于当前节点想左子树递归查找
if (this.left == null) {
return null;
} else {
return this.left.search(value);
}
} else {
//查找的值大于等于当前节点想左子树递归查找
if (this.right == null) {
return null;
} else {
return this.right.search(value);
}
}
}
/**
* 查找要删除节点的父节点
*
* @param value 要找到的节点的值
* @return 返回要删除节点的父节点, 如果没有就返回null
*/
public Node searchParent(int value) {
if ((this.left != null && this.left.value == value) || (this.right != null && this.right.value == value)) {
return this;
} else {
//如果查找的值小于当前节点的值,并且当前节点的左子节点不为空
if (this.value > value && this.left != null) {
return this.left.searchParent(value); //向左子树递归查找
} else if (this.value <= value && this.right != null) {
return this.right.searchParent(value); //向右子数递归查找
} else {
return null; //没有找到父节点
}
}
}
//递归的形式添加节点,满足二叉排序树的要求
public void add(Node node) {
if (node == null) {
return;
}
//判断传入的节点的值和当前
if (node.value < this.value) {
if (this.left == null) {
this.left = node;
} else {
this.left.add(node);
}
} else {
if (this.right == null) {
this.right = node;
} else {
this.right.add(node);
}
}
//当添加完一个节点后,如果:(右子树高度-左子树的高度)>1,左旋转
if(rightHeight()-leftHeight()>1){
if(right !=null &&right.rightHeight()<right.leftHeight()){
//先对当前节点的右子树进行右旋转
right.rightRotate();
leftRotate();
}else {
leftRotate();
}
return; //避免后续进行判断
}
//当添加完一个节点后,如果:(左子树高度-右子树的高度)>1,右旋转
if(leftHeight()-rightHeight()>1){
if(left !=null &&left.rightHeight()>left.leftHeight()){
//先对当前节点的左子树进行左旋转
left.leftRotate();
//再对当前节点进行右旋转
rightRotate();
}else {
//直接进行右旋转
rightRotate();
}
}
}
//中序遍历
public void midOrder() {
if (this == null) {
System.out.println("当前子树为空,无法遍历");
}
if (this.left != null) {
this.left.midOrder();
}
System.out.println(this);
if (this.right != null) {
this.right.midOrder();
}
}
@Override
public String toString() {
return "Node{" +
"value=" + value +
'}';
}
}

View File

@ -0,0 +1,261 @@
package com.atguigu.binarysorttree;
public class BinarySortTreeDemo {
public static void main(String[] args) {
int[] arr={7,3,11,12,5,1,9,2,10};
BinarySortTree binarySortTree = new BinarySortTree();
//循环的添加节点到二叉排序树
for (int i = 0; i < arr.length; i++) {
binarySortTree.add(new Node(arr[i]));
}
//中序遍历
System.out.println("中序遍历二叉排序树");
binarySortTree.midOrder(); //1 2 3 5 7 9 10 12
//测试删除叶子结点
binarySortTree.delNode(11);
System.out.println("删除后的中序遍历:");
binarySortTree.midOrder();
}
}
//创建二叉排序树
class BinarySortTree{
public Node root;
//查找要删除的节点
public Node search(int value){
if(root ==null){
return null;
}else {
return root.search(value);
}
}
//查找父节点
public Node searchParent(int value){
if(root ==null){
return null;
}else {
return root.searchParent(value);
}
}
/**
*1.返回以node为根节点的二叉排序树的最小节点的值
* 2.删除node为根节点的二叉排序树的最小节点
* @param node 传入的节点(当做二叉排序树的根节点)
* @return 返回以node为根节点的二叉排序树的最小节点的值
*/
public int delRightTreeMin(Node node){
Node min =node;
//U型你换查找左节点,就会找到最小值
while(min.left !=null){
min=min.left;
}
//这时min指向了最小的节点
//删除最小节点
delNode(min.value);
return min.value;
}
//删除节点
public void delNode(int value){
if(root ==null){
return;
}else {
//1.找到要删除的节点targetNode
Node targetNode = search(value);
if(targetNode==null){
return;
}
//如果当前二叉排序树只有一个节点
if(root.left==null&&root.right==null){
root=null;
return;
}
//去找到targetNode的父节点
Node parent = searchParent(value);
//如果要删除的节点是叶子节点
if(targetNode.left==null&&targetNode.right==null){
//判断targetNode是父节点的左子节点,还是右子节点
if(parent.left!=null&&parent.left.value==targetNode.value){
parent.left=null;
}else if(parent.right!=null&&parent.right.value==targetNode.value){
parent.right=null;
}
}else if(targetNode.left !=null && targetNode.right!=null){
int minVal = delRightTreeMin(targetNode.right);
targetNode.value=minVal;
}else {
//删除只有一颗子树的节点
//左子节点
if(targetNode.left !=null){
if(parent !=null){
if(parent.left.value==value){
parent.left=targetNode.left;
}else {
parent.right=targetNode.right;
}
}else {
root=targetNode.left;
}
}else {
if(parent !=null){
if(parent.left.value==value){
parent.left=targetNode.right;
}else {
parent.right=targetNode.right;
}
}else {
root=targetNode.right;
}
}
}
}
}
//添加节点的方法
public void add(Node node){
if(root==null){
root=node;
}else {
root.add(node);
}
}
//中序遍历
public void midOrder(){
if(root!=null){
root.midOrder();
}else {
System.out.println("当前二叉排序树为空");
}
}
}
class Node{
int value;
Node left;
Node right;
public Node(int value) {
this.value = value;
}
/**
* 查找要删除的节点
* @param value 希望要删除的节点的值
* @return 如果找到返回该节点,否则返回null
*/
//查找要删除的节点
public Node search(int value){
if(value ==this.value){
return this;
}else if(value <this.value){
//查找的值小于当前节点想左子树递归查找
if(this.left==null){
return null;
}else {
return this.left.search(value);
}
}else {
//查找的值大于等于当前节点想左子树递归查找
if(this.right==null){
return null;
}else {
return this.right.search(value);
}
}
}
/**
* 查找要删除节点的父节点
* @param value 要找到的节点的值
* @return 返回要删除节点的父节点,如果没有就返回null
*/
public Node searchParent(int value){
if((this.left !=null &&this.left.value==value) ||(this.right !=null &&this.right.value==value)){
return this;
}else {
//如果查找的值小于当前节点的值,并且当前节点的左子节点不为空
if(this.value>value&&this.left !=null){
return this.left.searchParent(value); //向左子树递归查找
}else if(this.value<=value&&this.right !=null){
return this.right.searchParent(value); //向右子数递归查找
}else {
return null; //没有找到父节点
}
}
}
//递归的形式添加节点,满足二叉排序树的要求
public void add(Node node){
if(node == null){
return;
}
//判断传入的节点的值和当前
if(node.value<this.value){
if(this.left==null){
this.left=node;
}else {
this.left.add(node);
}
}else {
if(this.right==null){
this.right=node;
}else {
this.right.add(node);
}
}
}
//中序遍历
public void midOrder(){
if(this ==null){
System.out.println("当前子树为空,无法遍历");
}
if(this.left !=null){
this.left.midOrder();
}
System.out.println(this);
if(this.right !=null){
this.right.midOrder();
}
}
@Override
public String toString() {
return "Node{" +
"value=" + value +
'}';
}
}

View File

@ -0,0 +1,216 @@
package com.atguigu.graph;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
public class Graph {
private ArrayList<String> vertexList; //存储顶点集合
private int[][] edges; //存储图对应的邻接矩阵
private int numOfEdges; //表示边的数目
//定义一个数组Boolean[],记录某个节点是否被访问过
private static boolean[] isVisited;
public static void main(String[] args) {
int n=5; //节点的个数
String vertexValue[] ={"A","B","C","D","E"};
//创建图对象
Graph graph = new Graph(n);
//循环添加顶点
for (String vertex : vertexValue) {
graph.insertVertex(vertex);
}
//添加边
graph.insertEdge(0,1,1); //A-B
graph.insertEdge(0,2,1); //A-C
graph.insertEdge(1,2,1); //B-C
graph.insertEdge(1,3,1); //B-D
graph.insertEdge(1,4,1); //B-E
//显示邻接矩阵
graph.showGraph();
//graph.DFS();
System.out.println("===========");
graph.BFS();
}
//构造器
public Graph(int n) {
//初始化矩阵和vertexList
edges = new int[n][n];
vertexList = new ArrayList<>(n);
numOfEdges = 0;
isVisited=new boolean[n];
}
/**
* 得到某一个邻接节点的第一个邻接节点的下标
* @param index
* @return 如果找到返回下标编号,反之返回-1
*/
public int getFirstNeighbor(int index){
for (int i = 0; i < vertexList.size(); i++) {
if(edges[index][i]>0){
return i;
}
}
return -1;
}
/**
* 根据前一个邻接节点的下标获取下一个邻接节点
* @param preRowIndex 前一个邻接节点的行号
* @param preColIndex 前一个邻接节点的列号
* @return
*/
public int getNextNeighbor(int preRowIndex,int preColIndex){
for (int j = preColIndex+1; j < vertexList.size(); j++) {
if(edges[preRowIndex][j]>0){
return j;
}
}
return -1;
}
/**
* 深度优先遍历算法
* @param isVisited 查询的是否被访问过的数组
* @param i 要开始访问的节点
*/
public void DFS(boolean[] isVisited,int i){
//首先访问该节点
System.out.print(getValueByIndex(i)+"->");
//将节点设置为已经访问过
isVisited[i]=true;
//访问第一个与之连接的节点
int firstNeighbor = getFirstNeighbor(i);
while (firstNeighbor !=-1){
if (!isVisited[firstNeighbor]) {
DFS(isVisited,firstNeighbor);
}else {
firstNeighbor=getNextNeighbor(i,firstNeighbor);
}
}
}
//对DFS进行重载遍历所有的节点,进行DFS(防止不连通图可能没有遍历到的问题)
public void DFS(){
//遍历所有的节点,进行DFS
for (int i = 0; i < getNumOfVertex(); i++) {
if(!isVisited[i]){
DFS(isVisited,i);
}
}
}
//对一个节点进行广度优先遍历
public void BFS(boolean[] isVisited,int i){
int u; //表示队列的头节点对应的下标
int w; //表示邻接节点w
//队列,节点访问顺序记录
LinkedList<Integer> queue = new LinkedList<>();
//访问节点,输出节点信息
System.out.print(getValueByIndex(i)+"=>");
//标记为已访问
isVisited[i]=true;
//将节点加入队列
queue.addLast(i);
while (!queue.isEmpty()){
//取出队列的头节点下标
u = queue.removeFirst();
//得到第一个邻接节点的下标
w=getFirstNeighbor(u);
while (w!= -1){
//是否访问过
if(!isVisited[w]){
System.out.print(getValueByIndex(w)+"=>");
//标记为已访问过
isVisited[w]=true;
//入队
queue.addLast(w);
}else {
//查找除w以外的第一个邻接节点的下标
w = getNextNeighbor(u, w); //体现出广度优先
}
}
}
}
//重载,避免非连接图的情况
public void BFS(){
for (int i = 0; i < getNumOfVertex(); i++) {
if(!isVisited[i]){
BFS(isVisited,i);
}
}
}
/**
* 图中常用的方法
* 1.得到节点个数
* 2.得到变得数目
* 3.返回节点i对应的数据
* 4.显示图对应的矩阵
*/
public int getNumOfVertex(){
return vertexList.size();
}
public int getNumOfEdges(){
return numOfEdges;
}
public String getValueByIndex(int i){
return vertexList.get(i);
}
public int getWeight(int v1,int v2){
return edges[v1][v2];
}
public void showGraph(){
if(edges==null){
System.out.println("当前图为空");
}
for (int[] edge : edges) {
System.out.println(Arrays.toString(edge));
}
}
//插入节点
public void insertVertex(String vertex){
vertexList.add(vertex);
}
/**
* 添加边
* @param v1 要添加边的两个顶点的下标
* @param v2
* @param weight
*/
public void insertEdge(int v1,int v2,int weight){
edges[v1][v2]=weight;
edges[v2][v1]=weight;
numOfEdges++;
}
}

View File

@ -0,0 +1,238 @@
package com.atguigu.hashtable;
import java.util.Scanner;
public class HashTableDemo {
public static void main(String[] args) {
//创建一个hashtable
HashTable hashTable = new HashTable(7);
//编写一个简单菜单
Scanner scanner = new Scanner(System.in);
String key="";
while (true){
System.out.println("add添加雇员");
System.out.println("show:显示雇员");
System.out.println("find查找雇员");
System.out.println("delete删除雇员");
System.out.println("exit:退出菜单");
key=scanner.next();
switch (key){
case "add":
System.out.println("输入id:");
int id=scanner.nextInt();
System.out.println("输入名字:");
String name=scanner.next();
//创建一个雇员
Emp emp = new Emp(id, name);
hashTable.add(emp);
break;
case "show":
hashTable.showHashTable();
break;
case "find":
System.out.println("输入要查找的员工id:");
int ids =scanner.nextInt();
hashTable.find(ids);
break;
case "delete":
System.out.println("输入要删除的员工id:");
int nums =scanner.nextInt();
hashTable.delete(nums);
break;
case "exit":
scanner.close();
System.exit(0);
break;
}
}
}
}
/**
* 雇员类包含雇员的所有属性,比如id,name,address等
*/
class Emp{
public int id;
public String name;
public Emp next; //默认为空
public Emp(int id, String name) {
this.id = id;
this.name = name;
}
@Override
public String toString() {
return "Emp{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
/**
* 创建一个链表用户存放连续存放各个雇员
*/
class EmpLinkedList{
//头指针,head直接指向第一个雇员
private Emp head; //默认为null
/**
* 添加雇员到链表中
* 说明:添加雇员时,假定id是自增的总是从小到大,直接加入到本链表的最后即可
* @param emp
*/
public void add(Emp emp){
//如果是添加第一条员工
if(head==null){
head=emp;
return;
}
//如果不是第一个员工则使用一个辅助指针遍历循环到链表的结尾再添加上去
Emp temp=head;
while (temp.next!=null){
temp=temp.next;
}
temp.next=emp;
}
public void showList(int i){
//如果链表没有元素,则打印无元素
if(head==null){
System.out.printf("第%d链表中暂时没有元素\n",i);
return;
}
//如果有元素则使用一个辅助变量遍历
System.out.printf("第%d链表的信息为\n",i);
Emp temp=head;
while (temp!=null){
System.out.println(temp);
temp=temp.next;
}
}
//根据id查找雇员
public Emp find(int id){
//如果链表为空直接返回null
if(head==null){
System.out.println("当前链表为空,未查找到相关员工");
return null;
}
//如果链表有员工则构造辅助变量进行查找
Emp temp=head;
while (temp!=null){
if(temp.id==id){
return temp;
}
temp=temp.next;
}
System.out.println("未查找到相关员工");
return null;
}
//根据id删除员工
public void delete(int id){
//如果链表为空,则无需删除
if(head==null){
System.out.println("当前链表为空,没有该雇员");
return;
}
if(head.next==null){
if(head.id==id){
head=null;
System.out.println("删除成功,当前链表为空");
}
}
//存在则构造辅助指针遍历找到该雇员,并删除
Emp temp=head;
Boolean flag=false;//构造一个标志是否查找到该员工
Boolean tou=false;
while (temp!=null){
if(temp.next==null){
break;
}
if(temp.next.id==id){
flag=true;
break;
}
temp=temp.next;
}
if(flag){
//找到了
temp.next=temp.next.next;
System.out.println("找到该员工,并成功删除");
}else {
System.out.println("链表中不存在该员工");
}
}
}
/**
* 创建一个hashTable管理多条链表
*/
class HashTable{
private EmpLinkedList[] empLinkedListArray;
private int size;
//创建一个构造器初始化链表大小
public HashTable(int size) {
this.empLinkedListArray = new EmpLinkedList[size];
this.size=size;
//初始化每一条链表否则会报空指针异常
for (int i = 0; i < size; i++) {
empLinkedListArray[i]=new EmpLinkedList();
}
}
//编写一个散列函数
public int hashFun(int id){
return id%size;
}
//添加雇员
public void add(Emp emp){
//根据员工的id,得到该员工应该添加到哪个链表
int empLinkedListNo = hashFun(emp.id);
empLinkedListArray[empLinkedListNo].add(emp);
}
//遍历所有的链表即遍历哈希表
public void showHashTable(){
for (int i = 0; i < empLinkedListArray.length; i++) {
empLinkedListArray[i].showList(i);
}
}
//根据id查找雇员
public void find(int id){
int num=hashFun(id);
System.out.println("去查找第"+num+"条链表");
Emp emp = empLinkedListArray[num].find(id);
if(emp!=null){
System.out.println(emp);
}
}
//根据id删除员工
public void delete(int id){
int num=hashFun(id);
System.out.println("去第"+num+"条链表删除员工");
empLinkedListArray[num].delete(id);
}
}

View File

@ -0,0 +1,453 @@
package com.atguigu.huffmancode;
import java.io.*;
import java.lang.reflect.Array;
import java.util.*;
public class HuffmanCode {
public static void main(String[] args) {
// String str = "i like like like java do you like a java";
// byte[] bytes = str.getBytes();
// System.out.println(bytes.length); //40
// byte[] huffmanCodesBytes = huffmanZip(bytes);
// System.out.println("压缩后的结果:" + Arrays.toString(huffmanCodesBytes) + " 长度=" + huffmanCodesBytes.length);
//
// //解码
// byte[] decode = decode(huffmanCodes, huffmanCodesBytes);
// System.out.println(new String(decode));
//测试压缩文件
// String srcFile="D:\\背景和屏保\\code2.png";
// String dstFile="D:\\背景和屏保\\dst.zip";
// zipFile(srcFile,dstFile);
// System.out.println("压缩文件成功");
//测试解压文件
String zipFile="D:\\背景和屏保\\dst.zip";
String dstFile ="D:\\背景和屏保\\code3.png";
unZipFile(zipFile,dstFile);
System.out.println("解压成功");
}
/**
* 编写一个方法,完成对压缩文件的解压
* @param zipFile 准备解压的文件
* @param dstFile 解压后文件的路径
*/
public static void unZipFile(String zipFile,String dstFile){
//定义文件的输入流
InputStream inputStream=null;
//定义一个对象输入流
ObjectInputStream objectInputStream=null;
//定义一个文件输出流
OutputStream outputStream=null;
try {
//创建文件输入流
inputStream = new FileInputStream(zipFile);
//创建一个和fileInputStream关联的对象输入流
objectInputStream = new ObjectInputStream(inputStream);
//读取byte数组huffmanByte
byte[] huffmanBytes = (byte[])objectInputStream.readObject();
Map<Byte, String> huffmanCodes = (Map<Byte, String>) objectInputStream.readObject();
//解码
byte[] decode = decode(huffmanCodes, huffmanBytes);
//将decode数组写入到目标文件
outputStream=new FileOutputStream(dstFile);
//写输入到dstFile
outputStream.write(decode);
}catch (Exception e){
System.out.println(e.getMessage());
}finally {
try {
outputStream.close();
objectInputStream.close();
inputStream.close();
} catch (Exception e) {
System.out.println(e.getMessage());;
}
}
}
/**
* 编写方法,将一个文件进行压缩
* @param srcFile 传入希望压缩的文件的全路径
* @param dstFile 压缩后的压缩文件存放路径
*/
public static void zipFile(String srcFile,String dstFile){
//创建输入流
FileInputStream fileInputStream =null;
//创建输出流
OutputStream outputStream=null;
ObjectOutputStream objectOutputStream=null;
try {
//创建文件的输入流
fileInputStream = new FileInputStream(srcFile);
//创建一个和源文件大小一样的byte[];.available()即返回源文件的大小
byte[] b = new byte[fileInputStream.available()];
//读取文件,存放在b字节数组里面
fileInputStream.read(b);
//对源文件进行压缩
byte[] huffmanBytes = huffmanZip(b);
//创建文件的输出流,存放压缩文件
outputStream= new FileOutputStream(dstFile);
//创阿金一个核文件输出流关联的ObjectOutputStream
objectOutputStream = new ObjectOutputStream(outputStream);
//把赫夫曼编码后的字节数组写入压缩文件
objectOutputStream.writeObject(huffmanBytes);
//这里我们一对象流的方式写入赫夫曼编码,是为了以后我们恢复源文件时使用
//注意一定要把赫夫曼编码写入压缩文件否则无法回复
objectOutputStream.writeObject(huffmanCodes);
} catch (Exception e) {
System.out.println(e.getMessage());;
}finally {
try {
objectOutputStream.close();
outputStream.close();
fileInputStream.close();
} catch (Exception e) {
System.out.println(e.getMessage());;
}
}
}
/**
* 解码思路:
* 1.将huffmanCodeBytes [-88,-65,-56,.....]冲洗转成赫夫曼编码对应的二进制的字符串"1010100010111..."
*2.赫夫曼编码对应的二进制的字符串"1010100010111..."=>对照赫夫曼编码=>"i like like like java ..."
*/
/**
* 编写一个方法,完成对压缩数据的解码
*
* @param huffmanCodes 哈夫曼编码表
* @param huffmanBytes 需要解码的数组
* @return 原来字符串对应的数组
*/
public static byte[] decode(Map<Byte, String> huffmanCodes, byte[] huffmanBytes) {
//1.先得到huffmanBytes对应的二进制的字符串,形式101010010111...
StringBuilder stringBuilder = new StringBuilder();
//将byte数组转成二进制的字符串
for (int i = 0; i < huffmanBytes.length; i++) {
//判断是否是最后一个字节
boolean flag = (i == huffmanBytes.length - 1);
stringBuilder.append(byteToBitString(!flag, huffmanBytes[i]));
}
//把字符串按照指定的赫夫曼编码进行解码
//把赫夫曼编码表进行调换,因为反向查询a ->100 100 ->a
Map<String, Byte> map = new HashMap<String, Byte>();
for (Map.Entry<Byte, String> entry : huffmanCodes.entrySet()) {
map.put(entry.getValue(), entry.getKey());
}
//创建一个集合,byte
List<Byte> list = new ArrayList<>();
int begin=0;
for (int i = 1; i <= stringBuilder.length(); i++) {
String substring = stringBuilder.substring(begin, i);
if(map.containsKey(substring)){
list.add(map.get(substring));
begin=i;
}
}
//把list中的数据存档在byte[]并返回
byte[] b=new byte[list.size()];
for (int i = 0; i < b.length; i++) {
b[i]=list.get(i);
}
return b;
}
/**
* 完成对数据的解压将一个byte转成一个二进制的字符串
*
* @param b
* @param flag 表示是否需要补高位,如果是true,表示需要补高位如果是最后一个字节无需补高位
* @return 是b对应的二进制的字符串(按补码返回)
*/
public static String byteToBitString(boolean flag, byte b) {
//使用变量保存b
int temp = b; //将b转成int
if (flag) {
//如果是正数,需要补高位;
temp |= 256; //按位或 temp 0000 0001 | 1 0000 0000 =>1 0000 0001
}
String str = Integer.toBinaryString(temp); //返回的是temp对应的二进制的补码
if (flag) {
return str.substring(str.length() - 8);
} else {
return str;
}
}
/**
* 赫夫曼压缩
* 将前面的方法封装起来,便于调用
*
* @param bytes 原始的字符串对应的字节数组
* @return 经过赫夫曼编码处理后的字节数组
*/
public static byte[] huffmanZip(byte[] bytes) {
//根据字节数组创建节点
List<Node> nodes = getNodes(bytes);
//根据nodes创建的赫夫曼树
Node root = createHuffmanTree(nodes);
//根据赫夫曼树生成了对应的赫夫曼编码
Map<Byte, String> huffmanCodes = getCodes(root);
//根据赫夫曼编码对原始数据进行压缩
byte[] zip = zip(bytes, huffmanCodes);
return zip;
}
/**
* 编写一个方法,将字符串对象的byte[]数组,通过生成的赫夫曼编码表,返回一个编码表压缩后的byte[]
*
* @param bytes 袁术的字符串对应的byte[]
* @param huffmanCodes 生成的赫夫曼编码的map
* @return 返回赫夫曼编码压缩后的byte[] =>即编码后的字节(补码) -> x-1(反码) ->除符号位以外取反(源码)在存在字节数组
*/
public static byte[] zip(byte[] bytes, Map<Byte, String> huffmanCodes) {
//1.利用huffmanCodes将bytes转成赫夫曼编码对应的字符串
StringBuilder stringBuilder = new StringBuilder();
//遍历bytes数组
for (byte b : bytes) {
stringBuilder.append(huffmanCodes.get(b));
}
//将1010100010111111110...转成byte[]
//统计返回byte[] huffmanCodeBytes长度
int len;
if (stringBuilder.length() % 8 == 0) {
len = stringBuilder.length() / 8;
} else {
len = stringBuilder.length() / 8 + 1;
}
//创建存储压缩后的byte数组
byte[] huffmanCodeBytes = new byte[len];
int index = 0;//记录是第几个Byte
for (int i = 0; i < stringBuilder.length(); i += 8) {
//每8位构成一个字符
String strByte;
if (i + 8 > stringBuilder.length()) {
strByte = stringBuilder.substring(i);
} else {
strByte = stringBuilder.substring(i, i + 8);
}
//将strByte转成一个byte,放入到huffmanCodeBytes
huffmanCodeBytes[index++] = (byte) Integer.parseInt(strByte, 2);
}
return huffmanCodeBytes;
}
//生成赫夫曼树对应的赫夫曼编码
//思路:
//1.将赫夫曼编码表存放在Map<Byte,String>形式
// 32->01 97->100 100->11000等等
static Map<Byte, String> huffmanCodes = new HashMap<Byte, String>();
//2.在生成赫夫曼编码表时,需要去凭借路径,定义一个StringBuilder存储某个叶子结点的路径
static StringBuilder stringBuilder = new StringBuilder();
//为了调用方便,重载getCodes
public static Map<Byte, String> getCodes(Node root) {
if (root == null) {
return null;
}
//处理root的左子树
getCodes(root.left, "0", stringBuilder);
getCodes(root.right, "1", stringBuilder);
return huffmanCodes;
}
/**
* 将传入node节点的左右叶子结点的赫夫曼编码得到,并放入到huffmanCodes集合
*
* @param node 传入的节点
* @param code 路径:左子节点是0,右子节点是1
* @param stringBuilder 用于拼接路径
*/
public static void getCodes(Node node, String code, StringBuilder stringBuilder) {
StringBuilder stringBuilder1 = new StringBuilder(stringBuilder);
//将code加入到StringBuild1
stringBuilder1.append(code);
if (node != null) {
//判断当前node是叶子结点还是非叶子节点
if (node.data == null) {
//向左递归递归
getCodes(node.left, "0", stringBuilder1);
//向右递归
getCodes(node.right, "1", stringBuilder1);
} else {
//说明是一个叶子结点,就表示找到某个叶子结点的最后
huffmanCodes.put(node.data, stringBuilder1.toString());
}
}
}
//前序遍历
public static void preOrder(Node root) {
if (root == null) {
System.out.println("当前树为空,无法遍历");
} else {
root.preOrder();
}
}
public static Node createHuffmanTree(List<Node> nodes) {
while (nodes.size() > 1) {
//从小到大排序
Collections.sort(nodes);
//取出第一课最小的二叉树
Node left = nodes.get(0);
Node right = nodes.get(1);
//创建一颗新的二叉树,他的根节点没有data,只有权值
Node parent = new Node(null, left.weight + right.weight);
parent.left = left;
parent.right = right;
//将已经处理的两个二叉树从nodes删除
nodes.remove(left);
nodes.remove(right);
//将新的二叉树加入到nodes
nodes.add(parent);
}
return nodes.get(0);
}
/**
* 创建list<node>
*
* @param bytes 接受的字节数组
* @return List[ Node[date=97,weight=5] ,Node[date=32,weight=3],...]
*/
public static List<Node> getNodes(byte[] bytes) {
//创建一个ArrayList
ArrayList<Node> nodes = new ArrayList<Node>();
//存储每一个byte出现的次数
//遍历bytes,统计每一个byte出现的次数 ->map[key,value]
Map<Byte, Integer> counts = new HashMap<>();
for (byte b : bytes) {
Integer count = counts.get(b);
if (count == null) {
counts.put(b, 1);
} else {
counts.put(b, count + 1);
}
}
//把每一个键值对转成一个Node对象,并加入到nodes集合
for (Map.Entry<Byte, Integer> entry : counts.entrySet()) {
nodes.add(new Node(entry.getKey(), entry.getValue()));
}
return nodes;
}
}
//创建Node,带数据和权值
class Node implements Comparable<Node> {
Byte data; //存放时数据本身,比如'a' =>97 ' ' =>32
int weight; //权值,表示字符出现的次数
Node left;
Node right;
public Node(Byte data, int weight) {
this.data = data;
this.weight = weight;
}
@Override
public int compareTo(Node o) {
//从小到大排序
return this.weight - o.weight;
}
@Override
public String toString() {
return "Node{" +
"data=" + data +
", weight=" + weight +
'}';
}
//前序遍历
public void preOrder() {
System.out.println(this);
if (this.left != null) {
this.left.preOrder();
}
if (this.right != null) {
this.right.preOrder();
}
}
}

View File

@ -0,0 +1,108 @@
package com.atguigu.huffmantree;
import java.util.ArrayList;
import java.util.Collections;
public class HuffmanTree {
public static void main(String[] args) {
int arr[] ={13,7,8,3,29,6,1};
Node root = createHuffmanTree(arr);
preOrder(root);
}
//编写一个前序遍历的方法
public static void preOrder(Node root){
if(root !=null){
root.preOrder();
}else {
System.out.println("当前树为空,无法遍历");
}
}
/**
* 创建赫夫曼树的方法
* @param arr 需要变为赫夫曼树的数组
* @return 赫夫曼树的根节点
*/
public static Node createHuffmanTree(int[] arr){
//(1)为了操作方便,将元素放进ArrayList
ArrayList<Node> nodes = new ArrayList<>();
for (int value : arr) {
nodes.add(new Node(value));
}
//处理过程是一个循环过程
while(nodes.size()>1){
//从小到大排序
Collections.sort(nodes);
//取出根节点权值最小的两颗二叉树
Node left=nodes.get(0);
Node right=nodes.get(1);
//构建一颗新的二叉树
Node parent =new Node(left.value+right.value);
parent.left=left;
parent.right=right;
//从ArrayList中删除处理过的二叉树
nodes.remove(left);
nodes.remove(right);
//将parent将入到node
nodes.add(parent);
}
//返回赫夫曼树的root节点
return nodes.get(0);
}
}
//创建节点类,实现Comparable接口
class Node implements Comparable<Node>{
int value; //节点权值
Node left; //指向左子节点
Node right; //指向右子节点
//前序遍历
public void preOrder(){
System.out.println(this);
if(this.left !=null){
this.left.preOrder();
}
if(this.right !=null){
this.right.preOrder();
}
}
public Node(int value) {
this.value = value;
}
@Override
public String toString() {
return "Node{" +
"value=" + value +
'}';
}
@Override
public int compareTo(Node o) {
return this.value-o.value;
}
}

View File

@ -0,0 +1,240 @@
package com.atguigu.linkedlist;
import com.sun.org.apache.xpath.internal.operations.Bool;
import sun.text.SupplementaryCharacterData;
import javax.swing.text.StyledEditorKit;
/**
* 双向链表的增删改查
*/
public class DoubleLinkedListDemo {
public static void main(String[] args) {
//测试
System.out.println("双向链表的测试");
//创建节点
HeroNode hero1 = new HeroNode(1, "宋江", "及时雨");
HeroNode hero2 = new HeroNode(2, "卢俊义", "玉麒麟");
HeroNode hero3 = new HeroNode(3, "吴用", "智多星");
HeroNode hero4 = new HeroNode(4, "林冲", "豹子头");
//创建链表
DoubleLinkedList doubleLinkedList =new DoubleLinkedList();
doubleLinkedList.addByOrder(hero4);
doubleLinkedList.addByOrder(hero2);
doubleLinkedList.addByOrder(hero1);
doubleLinkedList.addByOrder(hero3);
//显示
doubleLinkedList.showDoubleLinkedList();
//修改
HeroNode newHeroNode = new HeroNode(4, "公孙胜", "入云龙");
doubleLinkedList.update(newHeroNode);
System.out.println("修改后的链表");
doubleLinkedList.showDoubleLinkedList();
//删除
doubleLinkedList.delete(3);
System.out.println("删除后的链表情况:");
doubleLinkedList.showDoubleLinkedList();
}
public static class DoubleLinkedList{
//先初始化一个头结点头结点不要动,不存放具体的数据
private static HeroNode head =new HeroNode(0,"","");
//遍历双向链表的方法
public static void showDoubleLinkedList(){
if(head == null){
System.out.println("链表为空");
return;
}
//构造一个辅助变量用于遍历
HeroNode temp =head.next;
while(true){
//判断是否到达了最后
if(temp ==null){
break;
}
System.out.println(temp);
temp =temp.next;
}
}
//加一个数据添加到双向链表的末尾
public static void add(HeroNode data){
HeroNode temp =head;
while (true){
if(temp.next ==null){
break;
}
temp=temp.next;
}
//形成一个双向链表
temp.next=data;
data.pre=temp;
}
//按照编号顺序来添加
public static void addByOrder(HeroNode data){
HeroNode temp =head;
Boolean flag =false;
while(true){
if(temp.next==null){
break;
}
if(temp.next.no>data.no){
break;
}
if(temp.no == data.no){
System.out.println("编号和节点重复,无法加入");
flag =true;
return;
}
temp=temp.next;
}
if(!flag){
if(temp.next!=null){
temp.next.pre=data;
data.next=temp.next;
}
data.pre=temp;
temp.next=data;
}
}
//对双向链表的相同编号数据进行修改
public static void update(HeroNode data){
if(head.next == null){
System.out.println("链表为空");
return;
}
HeroNode temp =head.next;
Boolean flag =false;
while (true){
if(temp ==null){
System.out.printf("未查找到相同编号%d的节点,无法修改\n",data.no);
break;
}
if(temp.no==data.no){
flag =true;
break;
}
temp=temp.next;
}
if(flag){
System.out.println("找到了");
temp.nickname=data.nickname;
temp.name =data.name;
}
}
//从双向链表中删除一个节点
public static void delete(int no){
if(head.next == null){
System.out.println("链表为空,无法删除");
return;
}
boolean flag =false;
HeroNode temp =head;
while (true){
if(head.next == null){
System.out.printf("未找到编号为%d的节点\n",no);
}
if(temp.no == no){
flag =true;
break;
}
temp =temp.next;
}
if(flag){
temp.pre.next=temp.next;
//如果是最后一个节点,就不需要执行否则会出现空指针异常
if(temp.next !=null){
temp.next.pre = temp.pre;
}
}
}
}
/**
* 创建一个双向链表的类
*/
public static class HeroNode{
private int no;
private String name;
private String nickname;
private HeroNode next; //指向下一个节点,默认为null
private HeroNode pre; //指向前一个节点,默认为null
public HeroNode() {
}
public HeroNode(int no, String name, String nickname, HeroNode next, HeroNode pre) {
this.no = no;
this.name = name;
this.nickname = nickname;
this.next = next;
this.pre = pre;
}
public HeroNode(int no, String name, String nickname) {
this.no = no;
this.name = name;
this.nickname = nickname;
}
@Override
public String toString() {
return "HeroNode{" +
"no=" + no +
", name='" + name + '\'' +
", nickname='" + nickname + '\'' +
'}';
}
}
}

View File

@ -0,0 +1,174 @@
package com.atguigu.linkedlist;
public class Josephu {
public static void main(String[] args) {
//测试构建环形链表和遍历
CircleSingleLinkedList circleSingleLinkedList = new CircleSingleLinkedList();
circleSingleLinkedList.addBoy(125); //加入五个小孩节点
circleSingleLinkedList.showBoys();
//测试小孩出圈是否正确
circleSingleLinkedList.countBoy(10,20,125);
}
//创建一个环形的单向链表
public static class CircleSingleLinkedList {
//创建一个first节点,当前没有编号
private static Boy first = new Boy(-1);
//添加小孩节点,构建成一个环形的链表
public static void addBoy(int nums) {
//num做一个数据校验
if (nums < 2) {
System.out.println("nums的值不正确");
return;
}
//创建辅助变量,帮助构建环形链表
Boy curBoy = null;
//使用for来创建环形链表
for (int i = 1; i <= nums; i++) {
//根据编号创建小孩节点
Boy boy=new Boy(i);
//如果是第一个小孩
if(i == 1){
first=boy;
first.setNext(first); //自己构成一个环
curBoy=first;
}else {
curBoy.setNext(boy);
boy.setNext(first);
curBoy=boy;
}
}
}
//遍历环形链表
public static void showBoys(){
//判断链表是否为空
if(first == null){
System.out.println("没有任何小孩");
return;
}
//构造一个辅助指针完成遍历
Boy curBoy =first;
while(true){
System.out.printf("小孩的编号%d\n",curBoy.getNo());
if(curBoy.getNext() == first){
//遍历完毕
break;
}
curBoy=curBoy.getNext();
}
}
/**
* 根据用户的输入,计算小孩出圈的顺序
* @param startNo 表示从第几个小孩开始输数数
* @param countNum 表示数几下
* @param nums 表示最开始有多少小孩在圈里
*/
public static void countBoy(int startNo,int countNum,int nums){
//先对数据进行检验
if(first ==null ||startNo <1 ||startNo>nums){
System.out.println("参数输入有误,请重新输入");
return;
}
//创建一个辅助指针,帮助完成小孩出圈
Boy helper =first;
//通过循环让其事先指向环形链表的最后这个节点
while(true){
if(helper.getNext() ==first){
//helper指向了最后的小孩节点
break;
}
helper =helper.getNext();
}
//从第k个小孩开始报数,先让first和helper移动k-1次
for (int i = 0; i < startNo - 1; i++) {
first=first.getNext();
helper=helper.getNext();
}
//当小孩报数时,first和helper指针同时移动m-1次,然后出圈
//直到圈中只有一个节点
while(true){
if(helper ==first){
//圈中只有一个节点
break;
}
//first和helper指针同时移动m-1次,然后出圈
for (int i = 0; i < countNum - 1; i++) {
first=first.getNext();
helper=helper.getNext();
}
//这时first指向的节点,就是要出圈的小孩节点
System.out.printf("小孩%d出圈\n",first.getNo());
//这时将first指向的小孩节点出圈
first=first.getNext();
helper.setNext(first);
}
System.out.printf("最后留在圈中的小孩编号%d\n",first.getNo());
}
}
//创建一个Boy类,表示一个节点
public static class Boy {
private int no; //编号
private Boy next; //指向下一个节点,默认null
public Boy(int no) {
this.no = no;
}
public Boy(int no, Boy next) {
this.no = no;
this.next = next;
}
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
public Boy getNext() {
return next;
}
public void setNext(Boy next) {
this.next = next;
}
@Override
public String toString() {
return "Boy{" +
"no=" + no +
'}';
}
}
}

View File

@ -0,0 +1,466 @@
package com.atguigu.linkedlist;
import com.sun.corba.se.impl.resolver.SplitLocalResolverImpl;
import java.awt.*;
import java.util.Stack;
public class SingleLinkedListApplication {
public static void main(String[] args) {
//进行测试
//先创建节点
HeroNode hero1 = new HeroNode(1, "宋江", "及时雨");
HeroNode hero2 = new HeroNode(2, "卢俊义", "玉麒麟");
HeroNode hero3 = new HeroNode(3, "吴用", "智多星");
HeroNode hero4 = new HeroNode(4, "林冲", "豹子头");
HeroNode hero5 = new HeroNode(5, "宋江", "及时雨");
HeroNode hero6 = new HeroNode(6, "卢俊义", "玉麒麟");
HeroNode hero7 = new HeroNode(7, "吴用", "智多星");
HeroNode hero8 = new HeroNode(8, "林冲", "豹子头");
//创建一个链表
SingleLinkedList singleLinkedList = new SingleLinkedList();
SingleLinkedList singleLinkedList1 =new SingleLinkedList();
//加入
singleLinkedList.addByOrder(hero2);
singleLinkedList.addByOrder(hero5);
singleLinkedList.addByOrder(hero1);
singleLinkedList.addByOrder(hero6);
singleLinkedList1.addByOrder(hero4);
singleLinkedList1.addByOrder(hero3);
singleLinkedList1.addByOrder(hero8);
singleLinkedList1.addByOrder(hero7);
// //测试单链表的反转
// System.out.println("原来的链表:");
// singleLinkedList.showLinkedList();
//
// System.out.println("反转单链表:");
// reverseList(singleLinkedList.head);
// singleLinkedList.showLinkedList();
//
// //逆序打印单链表
// System.out.println("逆序打印单链表,没有改变单链表的结构:");
// reversePrint(singleLinkedList.head);
//两有序链表的合并
HeroNode combine = combine1(singleLinkedList1.head, singleLinkedList.head);
//
// //显示
// singleLinkedList.showLinkedList();
//
// //测试修改节点的代码
// HeroNode newHeroNode = new HeroNode(2, "小卢", "玉麒麟~~");
// singleLinkedList.update(newHeroNode);
//
// //修改后的链表
// System.out.println("修改后的链表情况:");
// singleLinkedList.showLinkedList();
//
// //测试删除
// System.out.println("删除后的链表情况:");
// singleLinkedList.delete(1);
// singleLinkedList.delete(4);
// singleLinkedList.showLinkedList();
//
// //测试单链表汇总有效节点的个数
// System.out.println("有效节点的个数:" + getLength(singleLinkedList.head));
//
// //测试是否能得到倒数第k的节点
// HeroNode res =findLastIndexNode(singleLinkedList.head,2);
// System.out.println("res="+res);
}
/**
* 合并两个有序单链表
*/
public static HeroNode combine1(HeroNode head1,HeroNode head2){
if(head1.next == null && head2.next ==null){
System.out.println("两链表为空,无法合并");
return null;
}else if(head1.next == null) {
return head2;
}else if(head2.next == null){
return head1;
}
HeroNode temp1 =head1.next;
HeroNode temp2 =head2.next;
HeroNode next =null;
SingleLinkedList combiner =new SingleLinkedList();
HeroNode combiner1 =combiner.head;
while(temp1 !=null &&temp2 !=null){
if(temp1.no >=temp2.no){
next =temp2.next;
//temp2 =combiner.next;
combiner1.next =temp2;
temp2=next;
combiner1=combiner1.next;
}else {
next =temp1.next;
//temp1 =combiner.next;
combiner1.next =temp1;
temp1=next;
combiner1=combiner1.next;
}
}
while(temp1 ==null){
if(temp2 !=null){
next =temp2.next;
combiner1.next=temp2;
temp2 =next;
combiner1=combiner1.next;
}else {
break;
}
}
while(temp2 ==null){
if(temp1 !=null){
next =temp1.next;
combiner1.next=temp1;
temp1 =next;
combiner1=combiner1.next;
}else {
break;
}
}
System.out.println("合并后的链表为:");
combiner.showLinkedList();
return combiner.head;
}
/**
* 使用方式2栈逆序打印单向链表
*
*/
public static void reversePrint(HeroNode head){
if(head.next ==null){
return;
}
//创建一个栈,将各个节点压入栈
Stack<HeroNode> stack = new Stack<HeroNode>();
HeroNode temp =head.next;
//将链表的所有节点压入站中
while(temp != null){
stack.push(temp);
temp=temp.next; //temp后移
}
//将占中的节点进行打印,pop出栈
while(stack.size()>0){
System.out.println(stack.pop()); //stack的特点是先进后出
}
}
/**
* 将链表反转
* @param head
*/
public static void reverseList(HeroNode head){
if(head.next ==null ||head.next.next ==null){
return;
}
//定义一个辅助变量,遍历原来的链表
HeroNode temp=head.next;
//定义指向当前节点的下一个
HeroNode next =null;
//定义一个反转头
HeroNode reverseHead = new HeroNode();
//遍历原来的链表每遍历一个节点就将其取出,并放在新的链表reverseHead的最前端
while(temp != null){
next=temp.next; //先暂存当前节点的下一个节点,后面使用
temp.next=reverseHead.next; //将temp的下一个节点指向新的链表的最前端
reverseHead.next=temp; //将temp连接到新的链表上
temp=next; //让temp后移
}
//将head.next指向reverseHead.next实现单链表的反转
head.next =reverseHead.next;
}
/**
* 查找单链表中的倒数第k个节点
* 思路:
* 1.编写一个方法,接受head节点,同时接受一个index
* 2.index表示是倒数第index个节点
* 3.先把链表从头到尾遍历,得到链表的总长度getLength
* 4.得到size后,从链表的第一个开始遍历(size-index),就可以得到
* 5.如果找到了,则返回该节点,否则返回null
*/
public static HeroNode findLastIndexNode(HeroNode head, int index) {
//如果链表为空,返回null
if (head.next == null) {
return null;
}
//第一次遍历得到链表的长度(节点个数)
int size = getLength(head);
//第二次遍历xize-index位置,就是我们倒数第k个节点
//先做一个index的校验
if (index <= 0 || index > size) {
return null;
}
HeroNode temp = head.next;
for (int i = 0; i < size - index;i++){
temp=temp.next;
}
return temp;
}
/**
* 方法:获取到单链表的节点的个数(如果是带头节点的链表,需求不统计头节点)
*
* @param head 链表的头节点
* @return 有效头节点的个数
*/
public static int getLength(HeroNode head) {
if (head.next == null) {
return 0;
}
HeroNode temp = head.next; //没有统计头节点
int count = 0;
while (true) {
if (temp == null) {
break;
}
count++;
temp = temp.next;
}
return count;
}
//定义一个SingleLinkedList管理我们的英雄
public static class SingleLinkedList {
//先初始化一个头节点,头节点不动,不存放具体的数据
private HeroNode head = new HeroNode(0, "", "");
/**
* 添加节点到单向链表
* 思路当不考虑编号顺序时
* 1.找到当前链表的最后节点
* 2.将最后这个节点的next指向新的节点
*
* @param data
*/
public void add(HeroNode data) {
//因为head节点不能懂,因此需要一个辅助变量temp
HeroNode temp = head;
//遍历链表,找到最后
while (true) {
//找到链表的最后
if (temp.next == null) {
break;
}
//如果没有找到,就将其后移
temp = temp.next;
}
//当退出循环,就指向了最后
//将最后这个节点的next指向新的节点
temp.next = data;
}
/**
* 按顺序添加节点
* 如果这个排名已存在,则报出添加失败
*/
public void addByOrder(HeroNode data) {
//通过辅助变量老帮助找到添加位置
HeroNode temp = head;
boolean flag = false; //flag表示添加的编号是否存在,默认为false
while (true) {
if (temp.next == null) {
break;
}
if (temp.next.no > data.no) {
//位置找到了
break;
} else if (temp.next.no == data.no) {
//编号已存在
flag = true;
break;
}
temp = temp.next;
}
//判断flag的值
if (flag) {
System.out.printf("准备插入的英雄的编号%d已经存在,不能加入\n", data.no);
} else {
//插入到temp的后面
data.next = temp.next;
temp.next = data;
}
}
/**
* 修改节点的信息,根据编号来修改,即no编号不能修改
* 说明:
* 1.根据newHeroNode的no来修改即可
*
* @param newHeroNode
*/
public void update(HeroNode newHeroNode) {
//判断是否为空
if (head.next == null) {
System.out.println("链表为空");
return;
}
//找到需要修改的节点,根据no编号
//定义一个辅助变量
HeroNode temp = head.next;
boolean flag = false; //表示是否找到了该节点
while (true) {
if (temp == null) {
break; //链表已经遍历完
}
if (temp.no == newHeroNode.no) {
//找到了
flag = true;
break;
}
temp = temp.next;
}
//根据flag判断是否找到要修改的节点
if (flag = true) {
System.out.println("找到要修改的节点,并修改");
temp.name = newHeroNode.name;
temp.nickname = newHeroNode.nickname;
} else {
System.out.printf("没有找到编号%d的节点,不能修改\n", newHeroNode.no);
}
}
/**
* 根据编号删除节点
*/
public void delete(int no) {
boolean flag = false;
if (head.next == null) {
System.out.println("链表为空");
}
HeroNode temp = head;
while (true) {
if (temp.next == null) {
break;
}
if (temp.next.no == no) {
System.out.println("找到了");
flag = true;
break;
}
temp = temp.next;
}
if (flag) {
temp.next = temp.next.next;
} else {
System.out.println("链表中不存在该编号");
}
}
/**
* 显示链表
*/
public void showLinkedList() {
//判断链表是否为空
if (head.next == null) {
System.out.println("链表为空");
return;
}
//遍历
HeroNode temp = head.next;
while (true) {
//判断是否到链表的结尾
if (temp == null) {
break;
}
//输出节点信息
System.out.println(temp);
temp = temp.next;
}
}
}
//定义HeroNode,每个HeroNode对象就是一个节点
public static class HeroNode {
private int no;
private String name;
public String nickname;
private HeroNode next;
public HeroNode() {
}
public HeroNode(int no, String name, String nickname) {
this.no = no;
this.name = name;
this.nickname = nickname;
}
public HeroNode(int no, String name, String nickname, HeroNode next) {
this.no = no;
this.name = name;
this.nickname = nickname;
this.next = next;
}
@Override
public String toString() {
return "HeroNode{" +
"no=" + no +
", name='" + name + '\'' +
", nickname='" + nickname + '\'' +
'}';
}
}
}

View File

@ -0,0 +1,240 @@
package com.atguigu.linkedlist;
public class SingleLinkedListDemo {
public static void main(String[] args) {
//进行测试
//先创建节点
HeroNode hero1 = new HeroNode(1, "宋江", "及时雨");
HeroNode hero2 = new HeroNode(2, "卢俊义", "玉麒麟");
HeroNode hero3 = new HeroNode(3, "吴用", "智多星");
HeroNode hero4 = new HeroNode(4, "林冲", "豹子头");
//创建一个链表
SingleLinkedList singleLinkedList = new SingleLinkedList();
//加入
singleLinkedList.addByOrder(hero1);
singleLinkedList.addByOrder(hero4);
singleLinkedList.addByOrder(hero2);
singleLinkedList.addByOrder(hero3);
//显示
singleLinkedList.showLinkedList();
//测试修改节点的代码
HeroNode newHeroNode = new HeroNode(2, "小卢", "玉麒麟~~");
singleLinkedList.update(newHeroNode);
//修改后的链表
System.out.println("修改后的链表情况:");
singleLinkedList.showLinkedList();
//测试删除
System.out.println("删除后的链表情况:");
singleLinkedList.delete(1);
singleLinkedList.delete(4);
singleLinkedList.delete(2);
singleLinkedList.delete(3);
singleLinkedList.showLinkedList();
}
//定义一个SingleLinkedList管理我们的英雄
public static class SingleLinkedList {
//先初始化一个头节点,头节点不动,不存放具体的数据
private HeroNode head = new HeroNode(0, "", "");
/**
* 添加节点到单向链表
* 思路当不考虑编号顺序时
* 1.找到当前链表的最后节点
* 2.将最后这个节点的next指向新的节点
*
* @param data
*/
public void add(HeroNode data) {
//因为head节点不能懂,因此需要一个辅助变量temp
HeroNode temp = head;
//遍历链表,找到最后
while (true) {
//找到链表的最后
if (temp.next == null) {
break;
}
//如果没有找到,就将其后移
temp = temp.next;
}
//当退出循环,就指向了最后
//将最后这个节点的next指向新的节点
temp.next = data;
}
/**
* 按顺序添加节点
* 如果这个排名已存在,则报出添加失败
*/
public void addByOrder(HeroNode data) {
//通过辅助变量老帮助找到添加位置
HeroNode temp = head;
boolean flag = false; //flag表示添加的编号是否存在,默认为false
while (true) {
if (temp.next == null) {
break;
}
if (temp.next.no > data.no) {
//位置找到了
break;
} else if (temp.next.no == data.no) {
//编号已存在
flag = true;
break;
}
temp = temp.next;
}
//判断flag的值
if (flag) {
System.out.printf("准备插入的英雄的编号%d已经存在,不能加入\n", data.no);
} else {
//插入到temp的后面
data.next = temp.next;
temp.next = data;
}
}
/**
* 修改节点的信息,根据编号来修改,即no编号不能修改
* 说明:
* 1.根据newHeroNode的no来修改即可
*
* @param newHeroNode
*/
public void update(HeroNode newHeroNode) {
//判断是否为空
if (head.next == null) {
System.out.println("链表为空");
return;
}
//找到需要修改的节点,根据no编号
//定义一个辅助变量
HeroNode temp = head.next;
boolean flag = false; //表示是否找到了该节点
while (true) {
if (temp == null) {
break; //链表已经遍历完
}
if (temp.no == newHeroNode.no) {
//找到了
flag = true;
break;
}
temp = temp.next;
}
//根据flag判断是否找到要修改的节点
if (flag = true) {
System.out.println("找到要修改的节点,并修改");
temp.name = newHeroNode.name;
temp.nickname = newHeroNode.nickname;
} else {
System.out.printf("没有找到编号%d的节点,不能修改\n", newHeroNode.no);
}
}
/**
* 根据编号删除节点
*/
public void delete(int no) {
boolean flag = false;
if (head.next == null) {
System.out.println("链表为空");
}
HeroNode temp = head;
while (true) {
if (temp.next == null) {
break;
}
if (temp.next.no == no) {
System.out.println("找到了");
flag = true;
break;
}
temp = temp.next;
}
if (flag) {
temp.next = temp.next.next;
} else {
System.out.println("链表中不存在该编号");
}
}
/**
* 显示链表
*/
public void showLinkedList() {
//判断链表是否为空
if (head.next == null) {
System.out.println("链表为空");
return;
}
//遍历
HeroNode temp = head.next;
while (true) {
//判断是否到链表的结尾
if (temp == null) {
break;
}
//输出节点信息
System.out.println(temp);
temp = temp.next;
}
}
}
//定义HeroNode,每个HeroNode对象就是一个节点
public static class HeroNode {
private int no;
private String name;
public String nickname;
private HeroNode next;
public HeroNode() {
}
public HeroNode(int no, String name, String nickname) {
this.no = no;
this.name = name;
this.nickname = nickname;
}
public HeroNode(int no, String name, String nickname, HeroNode next) {
this.no = no;
this.name = name;
this.nickname = nickname;
this.next = next;
}
@Override
public String toString() {
return "HeroNode{" +
"no=" + no +
", name='" + name + '\'' +
", nickname='" + nickname + '\'' +
'}';
}
}
}

View File

@ -0,0 +1,26 @@
package com.atguigu.linkedlist;
import java.util.Stack;
/**
* 演示栈的基本使用
*/
public class TestStack {
public static void main(String[] args) {
Stack<String> stack = new Stack();
//入栈
stack.add("jack");
stack.add("Tom");
stack.add("smith");
//出栈
while(stack.size()>0){
System.out.println(stack.pop());//pop将栈顶的数据取出
//smith Tom jack
}
}
}

View File

@ -0,0 +1,142 @@
package com.atguigu.queue;
import java.util.Scanner;
public class ArrayQueueDemo {
public static void main(String[] args) {
//测试
//创建一个队列
ArrayQueue arrayQueue = new ArrayQueue(3);
char key = ' '; //接受用户输入
Scanner scanner = new Scanner(System.in);
boolean loop = true;
//输出一个菜单
while(loop){
System.out.println("s(show):显示队列");
System.out.println("e(exit):退出程序");
System.out.println("a(add):添加数据到队列");
System.out.println("g(get):从队列取出数据");
System.out.println("h(head):查看队列头的数据");
key = scanner.next().charAt(0); //接受一个字符
switch (key){
case 's':
arrayQueue.showQueue();
break;
case 'a':
System.out.println("请输出一个数:");
int num = scanner.nextInt();
arrayQueue.addQueue(num);
break;
case 'g':
try{
int res = arrayQueue.getQueue();
System.out.printf("取出的数据是%d\n",res);
}catch (Exception e){
System.out.println(e.getMessage());
}
break;
case 'h':
//查看队列头的数据
try{
int res = arrayQueue.headQueue();
System.out.printf("队列头的数据是%d\n",res);
}catch (Exception e){
System.out.println(e.getMessage());
}
break;
case 'e':
scanner.close();
loop = false;
break;
default:
System.out.println("输入错误,请重新输入:");
break;
}
}
System.out.println("程序退出");
}
}
//使用数组模拟队列-编写一个ArrayQueue类
class ArrayQueue {
private int maxSize; //表示数组的最大容量
private int front;//队列头
private int rear; //队列尾
private int[] arr; //改数组用于存放数据模拟队列;
//创建队列的构造器
public ArrayQueue(int arrMaxSize) {
maxSize = arrMaxSize;
arr = new int[maxSize];
front = -1; //指向队列头部分析出front是指向队列头的前一个位置
rear = -1; //指向队列尾,指向队列尾的数据(就是队列最后一个数据)
}
//判断队列是否满
public boolean isFull() {
return rear == maxSize - 1;
}
//判断队列是否为空
public boolean isEmpty() {
return rear == front;
}
//添加数据到队列
public void addQueue(int data) {
//判断队列是否满了
if (isFull()) {
System.out.println("队列满,不能加入数据~");
return;
}
arr[++rear] = data;
}
//获取队列的数,出队列
public int getQueue() {
//判断队列是否为空
if (isEmpty()) {
//通过抛出异常的方式进行处理
throw new RuntimeException("队列空,不能取数据");
}
return arr[++front];
}
//显示队列的所有数据
public void showQueue() {
if (isEmpty()) {
System.out.println("队列为空,没有数据~~");
return;
}
for (int i = 0; i < arr.length; i++) {
System.out.printf("arr[%d]=%d\n", i, arr[i]);
}
}
//显示队列的头数据
public int headQueue() {
//判断
if (isEmpty()) {
throw new RuntimeException("队列为空,没有数据~~");
}
return arr[front + 1];
}
}

View File

@ -0,0 +1,160 @@
package com.atguigu.queue;
import java.util.Scanner;
public class CircleArrayQueueDemo {
public static void main(String[] args) {
//测试
//创建一个队列
CircleArrayQueue arrayQueue = new CircleArrayQueue(4);//其队列的有效数据最大是3
char key = ' '; //接受用户输入
Scanner scanner = new Scanner(System.in);
boolean loop = true;
//输出一个菜单
while (loop) {
System.out.println("s(show):显示队列");
System.out.println("e(exit):退出程序");
System.out.println("a(add):添加数据到队列");
System.out.println("g(get):从队列取出数据");
System.out.println("h(head):查看队列头的数据");
key = scanner.next().charAt(0); //接受一个字符
switch (key) {
case 's':
arrayQueue.showQueue();
break;
case 'a':
System.out.println("请输出一个数:");
int num = scanner.nextInt();
arrayQueue.addQueue(num);
break;
case 'g':
try {
int res = arrayQueue.getQueue();
System.out.printf("取出的数据是%d\n", res);
} catch (Exception e) {
System.out.println(e.getMessage());
}
break;
case 'h':
//查看队列头的数据
try {
int res = arrayQueue.headQueue();
System.out.printf("队列头的数据是%d\n", res);
} catch (Exception e) {
System.out.println(e.getMessage());
}
break;
case 'e':
scanner.close();
loop = false;
break;
default:
System.out.println("输入错误,请重新输入:");
break;
}
}
System.out.println("程序退出");
}
}
//使用数组模拟循环队列-编写一个CircleArrayQueue类
class CircleArrayQueue {
private int maxSize; //表示数组的最大容量
private int front;//队列头
private int rear; //队列尾
private int[] arr; //改数组用于存放数据模拟队列;
//创建队列的构造器
public CircleArrayQueue(int arrMaxSize) {
maxSize = arrMaxSize;
arr = new int[maxSize];
front = 0;
rear = 0;
}
//判断队列是否满
public boolean isFull() {
return (rear + 1) % maxSize == front;
}
//判断队列是否为空
public boolean isEmpty() {
return rear == front;
}
//添加数据到队列
public void addQueue(int data) {
//判断队列是否满了
if (isFull()) {
System.out.println("队列满,不能加入数据~");
return;
}
arr[rear] = data;
//将rear后移,这里必须考虑取模
rear = (rear + 1) % maxSize;
}
//获取队列的数,出队列
public int getQueue() {
//判断队列是否为空
if (isEmpty()) {
//通过抛出异常的方式进行处理
throw new RuntimeException("队列空,不能取数据");
}
//这里需要分析出front是指向队列的第一个元素
//1.先把front对应的值保留到临时变量
//2.将front后移取模
//3.将临时保存的变量返回
int value = arr[front];
front = (front + 1) % maxSize;
return value;
}
//显示队列的所有数据
public void showQueue() {
if (isEmpty()) {
System.out.println("队列为空,没有数据~~");
return;
}
//由于被取出了以后就可以不用遍历
//考虑从front开始遍历,遍历多少个元素
for (int i = front; i < front; i++) {
System.out.printf("arr[%d]=%d\n", i % maxSize, arr[i % maxSize]);
}
}
//求出当前队列有效数据的个数
public int size() {
//假如rear =1 front = 0 maxSize = 3
//(1+3-0)%3 ==1
return (rear + maxSize - front) % maxSize;
}
//显示队列的头数据
public int headQueue() {
//判断
if (isEmpty()) {
throw new RuntimeException("队列为空,没有数据~~");
}
return arr[front];
}
}

View File

@ -0,0 +1,89 @@
package com.atguigu.recursion;
/**
* 迷宫问题
*/
public class MiGong {
public static void main(String[] args) {
//创建一个二维数组,模拟迷宫
int[][] map = new int[8][7];
//使用1表示墙
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 7; j++) {
if (i == 0 || j == 0 || i == 7 || j == 6) {
map[i][j] = 1;
}
}
}
//设置挡板,1表示
map[3][1]=1;
map[3][2]=1;
System.out.println("当前地图:");
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 7; j++) {
System.out.print(map[i][j] + " ");
}
System.out.println();
}
//使用递归回溯给小球找路
setWay(map,1,1);
//输出新地图
System.out.println("新地图:");
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 7; j++) {
System.out.print(map[i][j] + " ");
}
System.out.println();
}
}
//
/**
* 使用递归回溯给小球找路
* 当为0是表示没走过,当为1表示墙,当为2表示通路可以走,3表示该店已经走过
* 需要确定一个策略(方法) ->->->如果该点走不通,在回溯
* @param map 地图
* @param i 从哪个位置开始找(1,1)
* @param j
* @return 是否找到通路(6,5)
*/
public static boolean setWay(int[][] map,int i,int j){
if(map[6][5] == 2){
return true;
}else {
if(map[i][j]==0){
//如果当前这个点没走过
//按照策略
map[i][j] = 2;
if(setWay(map,i+1,j)){
return true;
}else if(setWay(map,i,j+1)){
return true;
}else if(setWay(map,i-1,j)){
return true;
}else if(setWay(map,i,j-1)){
return true;
}else {
//该点走不通,是死路
map[i][j]=3;
return false;
}
}else {
//map值可能是1,2,3
return false;
}
}
}
}

View File

@ -0,0 +1,76 @@
package com.atguigu.recursion;
public class Queen8 {
//定义一个max表示共有多少个皇后
int max = 8;
//定义数组array保存皇后放置位置的结果,比如arr={0,4,7,5,2,6,1,3}
int[] array = new int[max];
static int count=0;
public static void main(String[] args) {
Queen8 queen8 = new Queen8();
queen8.check(0);
System.out.printf("一共有%d中解法",count); //92
}
/**
* 放置第n个皇后
* @param n 第n个皇后
*/
private void check(int n){
if(n==max){
//8个皇后已放好
print();
return;
}
//依次放入皇后并判断是否冲突
for (int i = 0; i < max; i++) {
//先把当前这个皇后n放到该行的第1列
array[n] = i;
//判断这个位置是否冲突
if(judge(n)){
//不冲突
//接着放第n+1个皇后
check(n+1);
}
//如果冲突,就继续执行array[n]=i;即将第n个皇后放置在后移一个位置
}
}
/**
* 查看当我们放置第n个皇后,就去检测该皇后是否和前面已经摆放的皇后冲突
*
* @param n 表示第n个皇后
* @return
*/
private boolean judge(int n) {
for (int i = 0; i < n; i++) {
//TODO 说明:
// 1.array[i] == array[n] 表示判断第n个皇后是否和前面的n-1个皇后在同一列
// 2.Math.abs(n-i) == Math.abs(array[n]-array[i])表示判断第n个皇后是否和第i个皇后在同一斜线
if (array[i] == array[n] || Math.abs(n - i) == Math.abs(array[n] - array[i])) {
return false;
}
}
return true;
}
//将皇后摆放的位置打印出来
private void print() {
count++;
for (int i = 0; i < array.length; i++) {
System.out.print(array[i] + " ");
}
System.out.println();
}
}

View File

@ -0,0 +1,30 @@
package com.atguigu.recursion;
import javax.swing.*;
public class RecursionTest {
public static void main(String[] args) {
//test(4);
int res =factorial(4);
System.out.println(res);
}
//打印问题
public static void test(int n) {
if (n > 2) {
test(n - 1);
}
System.out.println("n=" + n);
}
//阶乘问题
public static int factorial(int n) {
if (n == 1) {
return 1;
} else {
return factorial(n - 1) * n;
}}
}

View File

@ -0,0 +1,113 @@
package com.atguigu.search;
import java.util.ArrayList;
/**
* 二分查找
* 前提:数组是有序的
*/
public class BinarySearch {
public static void main(String[] args) {
int[] arr = {1, 8, 10, 89, 1000, 1000,1000,1234};
//int resIndex = binarySearch(arr, 0, arr.length - 1, 100);
ArrayList<Integer> resArrayList = binarySearch2(arr, 0, arr.length - 1, 1000);
System.out.println("resIndex=" + resArrayList);
}
/**
* 二分查找算法
*
* @param arr 数组
* @param left 左边的索引
* @param right 右边的索引
* @param findVal 要查找的值
* @return 找到返回下标, 未找到返回-1
*/
public static int binarySearch(int[] arr, int left, int right, int findVal) {
//left>right时,说明递归整个数组,但是没有找到
if (left > right) {
return -1;
}
int mid = (left + right) / 2;
int midVal = arr[mid];
if (findVal > midVal) {
return binarySearch(arr, mid + 1, right, findVal);
} else if (findVal < midVal) {
return binarySearch(arr, left, mid - 1, findVal);
} else {
return mid;
}
}
//
/**
* 课后思考题:当数组中有多个相同的数值时,如何将所有的设置都查找到
*
* 思路分析:
* 1.在找到mid索引值不要马上返回
* 2.想mid索引值的左边扫描,将所有满足1000的元素的下表,加入到集合ArrayList
* 3.想mid索引值的右边扫描,将所有满足1000的元素的下表,加入到集合ArrayList
* 4.返回ArrayList
*/
public static ArrayList<Integer> binarySearch2(int[] arr, int left, int right, int findVal) {
//left>right时,说明递归整个数组,但是没有找到
if (left > right) {
return new ArrayList<Integer>();
}
int mid = (left + right) / 2;
int midVal = arr[mid];
if (findVal > midVal) {
return binarySearch2(arr, mid + 1, right, findVal);
} else if (findVal < midVal) {
return binarySearch2(arr, left, mid - 1, findVal);
} else {
ArrayList<Integer> resIndexList = new ArrayList<>();
int temp=mid-1;
//向左扫描
while(true){
if(temp<0||arr[temp] !=findVal){
//退出
break;
}
//否则,就将temp放入到resIndexList
resIndexList.add(temp);
temp -=1;
}
resIndexList.add(mid); //中间的
//向右扫描
temp=mid+1;
while(true){
if(temp>arr.length-1||arr[temp] !=findVal){
//退出
break;
}
//否则,就将temp放入到resIndexList
resIndexList.add(temp);
temp +=1;
}
return resIndexList;
}
}
}

View File

@ -0,0 +1,38 @@
package com.atguigu.search;
public class SeqSearch {
public static void main(String[] args) {
int[] arr ={1,9,11,-1,34,89}; //没有顺序的数组
int index=seqSearch(arr,11);
if(index == -1){
System.out.println("没有找到");
}else {
System.out.println("找到了,下标为="+index);
}
}
/**
* 这里实现的线性查找是找到一个满足条件的值,就返回
* @param arr 数组
* @param value 查找的值
* @return
*/
public static int seqSearch(int[] arr,int value){
//线性查找是逐一比对,发信啊有向永志,就返回下标
for (int i = 0; i < arr.length; i++) {
if(arr[i]==value){
return i;
}
}
return -1;
}
}

View File

@ -0,0 +1,63 @@
package com.atguigu.sort;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.Random;
public class BubbleSort {
public static void main(String[] args) {
// int[] arr = {3,9,-1,10,-2};
//
// System.out.println("排序前:");
// System.out.println(Arrays.toString(arr));
//测试80000个数据进行测试
int[] arr =new int[80000];
for (int i = 0; i < arr.length; i++) {
arr[i] = (int)(Math.random()*80000); //生成一个[0,80000]的数
}
Date date1 = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date1Str = simpleDateFormat.format(date1);
System.out.println("排序前的时间:"+date1Str); //排序前的时间:2022-01-14 14:02:53
Bubble(arr);
Date date2 = new Date();
String date2Str = simpleDateFormat.format(date2);
System.out.println("排序后的时间:"+date2Str); //排序后的时间:2022-01-14 14:03:05
}
public static void Bubble(int[] arr){
int temp = 0;
boolean flag=false; //表示是否交换过
//冒泡排序:时间复杂度O(n^2)
//优化:如果在交换过程中,没有一次交换就提前结束循环
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-1-i; j++) {
if (arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
flag =true;
}
}
if(flag ==false){
//一趟排序中一次都没有交换过
break;
}else {
flag=false; //重置flag进行下次判断
}
}
}
}

View File

@ -0,0 +1,70 @@
package com.atguigu.sort;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
public class InsertSort {
public static void main(String[] args) {
int[] arr = {-1, 9,3 , 10, -2};
insertSort(arr);
System.out.println(Arrays.toString(arr));
//测试80000个数据进行测试
// int[] arr = new int[80000];
// for (int i = 0; i < arr.length; i++) {
// arr[i] = (int) (Math.random() * 80000); //生成一个[0,80000]的数
// }
// Date date1 = new Date();
// SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// String date1Str = simpleDateFormat.format(date1);
// System.out.println("排序前的时间:" + date1Str); //排序前的时间:2022-01-14 15:36:45
//
// insertSort(arr);
// Date date2 = new Date();
// String date2Str = simpleDateFormat.format(date2);
// System.out.println("排序后的时间:" + date2Str); //排序后的时间:2022-01-14 15:36:46 //不到一秒
}
//插入排序
public static void insertSort(int[] arr) {
//定义待输入的数
int temp = 0;
for (int i = 1; i < arr.length; i++) {
int flag = arr[i];
int index = i - 1;
//可以实现
// int index=i;
// for (int j = 0; j < i; j++) {
//
// if (flag < arr[j]) {
// index = j;
// break;
// }
// }
//
// if(index != i){
// for(int z=i-1;z>=index;z--){
// arr[z+1]=arr[z];
// }
// arr[index]=flag;
// }
while (index >= 0 && flag < arr[index]) {
arr[index + 1] = arr[index];
index--;
}
arr[index + 1] = flag;
}
}
}

View File

@ -0,0 +1,122 @@
package com.atguigu.sort;
import java.lang.reflect.Array;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
/**
* 归并排序
*/
public class MergeSort {
public static void main(String[] args) {
// int[] arr = {8, 4, 5, 7, 1, 3, 6, 2,0,234};
// mergeSort(arr,0,arr.length-1,temp);
//
// System.out.println("归并排序后="+ Arrays.toString(arr));
//测试80000个数据进行测试
int[] arr =new int[8000000];
int[] temp = new int[arr.length]; //归并排序需要一个额外的空间
for (int i = 0; i < arr.length; i++) {
arr[i] = (int)(Math.random()*8000000); //生成一个[0,80000]的数
}
Date date1 = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date1Str = simpleDateFormat.format(date1);
System.out.println("排序前的时间:"+date1Str); //排序前的时间:2022-01-17 17:16:31
mergeSort(arr,0,arr.length-1,temp);
Date date2 = new Date();
String date2Str = simpleDateFormat.format(date2);
System.out.println("排序后的时间:"+date2Str); //排序后的时间:2022-01-17 17:16:32
//System.out.println("归并排序后="+ Arrays.toString(arr));
}
/**
* +和的方法
* @param arr 原始数组
* @param left 左边的初始索引
* @param right 右边的初始索引
* @param temp 临时数组
*/
public static void mergeSort(int[] arr,int left,int right,int[] temp){
if(left <right){
int mid =(left+right)/2; //中间索引
//向左递归分解
mergeSort(arr,left,mid,temp);
//向右递归
mergeSort(arr,mid+1,right,temp);
//合并
merge(arr,left,mid,right,temp);
}
}
/**
* 合并的方法
*
* @param arr 待排序的原始数组
* @param left 左边有序序列的初始索引
* @param mid 中间索引
* @param right 右边索引
* @param temp 做中转的数组
*/
public static void merge(int[] arr, int left, int mid, int right, int[] temp) {
int i = left; //初始化i,左边有序序列的初始索引
int j = mid + 1; //初始化j,右边有序序列的初始索引
int t = 0; //初始化t,指向temp数组的当前索引
//TODO ()
// 先把左右两边(有序)的数据按照规则填充到temp数组
// 直到左右两边的有序数列,有一边处理完毕为止
while (i <= mid && j <= right) {
//哪个小把那个填充到temp
if (arr[i] <= arr[j]) {
temp[t] = arr[i];
t += 1;
i += 1;
}else {
temp[t] = arr[j];
t += 1;
j += 1;
}
}
//TODO ()
// 把有剩余数据的一边的数据一次全部填充到temp
while( i<=mid){
//左边有剩余,填充到temp
temp[t++]=arr[i++];
}
while(j<=right){
//右边有剩余,填充到temp
temp[t++]=arr[j++];
}
//TODO ()
// 将temp数组的元素拷贝到arr
// 注意:并不是每次都是拷贝所有数据
t=0;
int tempLeft = left;
while(tempLeft <=right){
arr[tempLeft++]=temp[t++];
}
}
}

View File

@ -0,0 +1,104 @@
package com.atguigu.sort;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
public class QuickSort {
public static void main(String[] args) {
// int[] arr = {-9, 78, 0, 23, -567, 70,-1,900,0,4561};
//
// quickSort(arr, 0, arr.length - 1);
// System.out.println(Arrays.toString(arr));
int[] arr = new int[8000000];
for (int i = 0; i < arr.length; i++) {
arr[i] = (int) (Math.random() * 8000000); //生成一个[0,80000]的数
}
Date date1 = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date1Str = simpleDateFormat.format(date1);
System.out.println("排序前的时间:" + date1Str); //排序前的时间:2022-01-14 16:22:18
//shellSort(arr);
quickSort(arr,0,arr.length-1);
Date date2 = new Date();
String date2Str = simpleDateFormat.format(date2);
System.out.println("排序后的时间:" + date2Str); //排序后的时间:排序后的时间:2022-01-14 16:22:18 //不到一秒
//System.out.println( Arrays.toString(arr));
}
/**
* 快速排序
*
* @param arr
* @param left 左边开始的索引
* @param right 右边开始的索引
*/
public static void quickSort(int[] arr, int left, int right) {
int l = left; //左下标
int r = right; //右下标
int pivot = arr[(left + right) / 2]; //中轴
int temp = 0; //临时变量,交换时使用
//while循环的目的是让比pivot值小的放到左边,比pivot值大的放到右边
//{-9, 78, 0, 23, 0, 70};
while (l < r) {
//在pivot的左边一直找,找到大于等于pivot值,才退出
while (arr[l] < pivot) {
l += 1;
}
//在pivot的左边一直找,找到小于等于pivot值,才退出
while (arr[r] > pivot) {
r -= 1;
}
if (l >= r) {
//如果l >= r说明pivot的左右两边的值,已经按照左边全部小于等于pivot值右边全部是大于等于pivot值
break;
}
//如果没有满足则交换
temp = arr[l];
arr[l] = arr[r];
arr[r] = temp;
//如果交换完后,发现arr[l] ==pivot相等前移
if (arr[l] == pivot) {
r -= 1;
}
if (arr[r] == pivot) {
l += 1;
}
}
//如果l ==r,必须l++,r--,否则会出现栈溢出
if (l == r) {
l += 1;
r -= 1;
}
//向左递归
if (left < r) {
quickSort(arr, left, r);
}
//向右递归
if (right > l) {
quickSort(arr, l, right);
}
}
}

View File

@ -0,0 +1,100 @@
package com.atguigu.sort;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
/**
* 基数排序(桶排序的扩展)
*/
public class RadixSort {
public static void main(String[] args) {
// int[] arr= {53,3,542,748,14,214};
// radixSort(arr);
//测试80000个数据进行测试
//8千万个数:java.lang.OutOfMemoryError: Java heap space
int[] arr =new int[80000000];
for (int i = 0; i < arr.length; i++) {
arr[i] = (int)(Math.random()*80000000); //生成一个[0,80000]的数
}
Date date1 = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date1Str = simpleDateFormat.format(date1);
System.out.println("排序前的时间:"+date1Str); //排序前的时间:2022-01-18 12:53:42
radixSort(arr);
Date date2 = new Date();
String date2Str = simpleDateFormat.format(date2);
System.out.println("排序后的时间:"+date2Str); //排序后的时间:2022-01-18 12:53:43
}
//基数排序的方法
public static void radixSort(int[] arr){
//第一轮(针对每个元素的各位进行排序处理)
//定义一个二维数组,表示10个桶,每个桶就是一个一维数组
//TODO 说明
// 1.二维数组包含10个一维数组
// 2.为了防止在放入数的时候,数据溢出,则每个一维数组(),大小定位arr.length
// 3.技术排序是使用空间换时间的经典算法
int[][] bucket = new int[10][arr.length];
//为了记录每个桶中,实际存放了多少个数据,定义一个一维数组来记录各个桶的每次放入的数据个数
//bucketElementCounts[0]记录的是bucket[0]桶中放入数据个数
int[] bucketElementCounts =new int[10];
//1.得到数组汇总过最大的数的位数
int max =arr[0]; //假设第一个数就是最大的数
for(int i = 1;i<arr.length;i++){
if(arr[i]>max){
max=arr[i];
}
}
//得到最大数是几位数
int maxLength = (max+"").length();
for(int i =0, n= 1;i<maxLength;i++,n *=10){
//第i轮(针对每个元素的各位进行排序处理)
for(int j=0;j<arr.length;j++){
//取出每个元素的个位
int digitOfElement =arr[j]/n%10;
//放入到对应的桶中
bucket[digitOfElement][bucketElementCounts[digitOfElement]]=arr[j];
bucketElementCounts[digitOfElement] +=1;
}
//按照这个痛的顺序(一维数组的下表一次被取出数据,放入原来数组)
int index =0;
//遍历每一个桶,并将同种的数据,放入到原数组
for(int k =0;k<bucketElementCounts.length;k++){
//如果桶中有数据,放入原数组
if(bucketElementCounts[k] !=0 ){
//对应的桶中有数据,循环遍历该桶第k个桶放入
for(int l= 0;l<bucketElementCounts[k];l++){
//放入arr
arr[index] =bucket[k][l];
index++;
}
}
//每轮处理后,需要将bucket置0
bucketElementCounts[k] =0;
}
// System.out.println("第一轮,对各位的排序处理arr="+ Arrays.toString(arr));
}
}
}

View File

@ -0,0 +1,60 @@
package com.atguigu.sort;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
public class SelectSort {
public static void main(String[] args) {
// int[] arr = {3,9,-1,10,-2};
//
// Select(arr);
// System.out.println(Arrays.toString(arr));
//测试80000个数据进行测试
int[] arr =new int[80000];
for (int i = 0; i < arr.length; i++) {
arr[i] = (int)(Math.random()*80000); //生成一个[0,80000]的数
}
Date date1 = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date1Str = simpleDateFormat.format(date1);
System.out.println("排序前的时间:"+date1Str); //排序前的时间:2022-01-14 14:28:48
Select(arr);
Date date2 = new Date();
String date2Str = simpleDateFormat.format(date2);
System.out.println("排序后的时间:"+date2Str); //排序后的时间:2022-01-14 14:28:51
}
/**
* 选择排序
*/
public static void Select(int[] arr){
int flag =0;
int count =0;
int temp = 0;
for (int i = 0; i < arr.length - 1; i++) {
flag=arr[i];
count=i;
for (int j = i+1; j < arr.length ; j++) {
if(flag >arr[j]){
flag=arr[j];
count=j;
}
}
if(count !=i){
temp =arr[i];
arr[i]=arr[count];
arr[count]=temp;
}
}
}
}

View File

@ -0,0 +1,89 @@
package com.atguigu.sort;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
public class ShellSort {
public static void main(String[] args) {
// int[] arr ={8,9,1,7,2,3,5,4,6,0};
// shellSort(arr);
//测试80000个数据进行测试交换法
int[] arr = new int[80000];
for (int i = 0; i < arr.length; i++) {
arr[i] = (int) (Math.random() * 80000); //生成一个[0,80000]的数
}
Date date1 = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date1Str = simpleDateFormat.format(date1);
System.out.println("排序前的时间:" + date1Str); //排序前的时间:2022-01-14 16:22:18
//shellSort(arr);
shellSort2(arr);
Date date2 = new Date();
String date2Str = simpleDateFormat.format(date2);
System.out.println("排序后的时间:" + date2Str); //排序后的时间:排序后的时间:2022-01-14 16:22:18 //不到一秒
//System.out.println( Arrays.toString(arr));
}
//希尔排序交换法 -8秒左右
public static void shellSort(int[] arr) {
int temp = 0;
//希尔排序第一轮
//第一轮10个数据分为5组
for (int gap = arr.length; gap > 0; gap /= 2) {
for (int i = gap; i < arr.length; i++) {
//遍历各组中所有元素(共gap组,每组两个arr.length/gap元素),步长gap
for (int j = i - gap; j >= 0; j -= gap) {
//如果当前元素大于加上步长后的那个元素,说明需要交换
if (arr[j] > arr[j + gap]) {
temp = arr[j];
arr[j] = arr[j + gap];
arr[j + gap] = temp;
}
}
}
//System.out.printf("希尔排序第轮的结果:%s\n", Arrays.toString(arr));
}
}
//希尔排序-移位法
public static void shellSort2(int[] arr) {
//增量gap,并逐步所有增量
for (int gap = arr.length / 2; gap > 0; gap /= 2) {
//从第gap个元素,诸葛对其所在的组进行直接插入排序
for (int i = gap; i < arr.length; i++) {
int j = i;
int temp = arr[j];
if (arr[j] < arr[j - gap]) {
while (j - gap >= 0 && temp < arr[j - gap]) {
//移动
arr[j] = arr[j - gap];
j -= gap;
}
//当退出while后,就给temp找到了插入的位置
arr[j] = temp;
}
}
}
}
}

View File

@ -0,0 +1,82 @@
package com.atguigu.sort.selftry;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 冒泡排序自实现
*/
public class BubbleSort {
public static void main(String[] args) {
int[] arr = {3, 9, -1, 10, 20};
Bubble(arr);
show(arr);
//测试5000条数据
int[] arr1 = new int[80000];
for (int i = 0; i < arr1.length; i++) {
arr1[i] = (int) (Math.random() * 80000);
}
Date date1 = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time1 = simpleDateFormat.format(date1);
System.out.println("排序前的时间:" + time1);
show(arr1);
Bubble(arr1);
System.out.println("排序后:");
show(arr1);
Date date2 = new Date();
String time2 = simpleDateFormat.format(date2);
System.out.println("排序后的时间:" + time2);
}
public static void Bubble(int[] arr) {
int temp = 0;
boolean flag = false;
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - i; j++) {
if (j < arr.length - 1) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
flag = true;
}
} else {
break;
}
}
if (!flag) {
//没有交换过,结束循环
break;
} else {
flag = false;
}
// System.out.printf("第%d次后的结果",i);
// show(arr);
// System.out.println();
}
}
public static void show(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.printf(arr[i] + " ");
}
System.out.println();
}
}

View File

@ -0,0 +1,92 @@
package com.atguigu.sort.selftry;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
public class MergeSort {
public static void main(String[] args) {
// int[] arr = {8, 4, 5, 7, 1, 3, 6, 2,0,234};
// int[] temp = new int[arr.length];
// MergeSort(arr, 0, arr.length-1, temp);
// System.out.println(Arrays.toString(arr));
//测试80000个数据进行测试
int[] arr =new int[8000000];
int[] temp = new int[arr.length]; //归并排序需要一个额外的空间
for (int i = 0; i < arr.length; i++) {
arr[i] = (int)(Math.random()*8000000); //生成一个[0,80000]的数
}
Date date1 = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date1Str = simpleDateFormat.format(date1);
System.out.println("排序前的时间:"+date1Str); //排序前的时间:2022-01-17 17:16:31
MergeSort(arr,0,arr.length-1,temp);
Date date2 = new Date();
String date2Str = simpleDateFormat.format(date2);
System.out.println("排序后的时间:"+date2Str); //排序后的时间:2022-01-17 17:16:32
}
public static void MergeSort(int[] arr, int left, int right, int[] temp) {
if (left < right) {
int mid = (left + right) / 2;
//向左递归分解
MergeSort(arr, left, mid, temp);
//向右递归分解
MergeSort(arr, mid + 1, right, temp);
//合并
Merge(arr, left, mid, right, temp);
}
}
/**
* 将原数组分为左右两边的数组,通过比较两数组依次数组存在temp中,
* 当某一个数组遍历完毕则将另一个数组剩下的元素存入temp中,最后让temp=arr
*
* @param arr
* @param left
* @param mid
* @param right
* @param temp
*/
public static void Merge(int[] arr, int left, int mid, int right, int[] temp) {
int i = left;
int j = mid + 1;
int t = 0; //初始化temp当前索引
while (i <= mid && j <= right) {
if (arr[i] < arr[j]) {
temp[t++] = arr[i++];
} else {
temp[t++] = arr[j++];
}
}
//左边的数组已全部放入temp
while (j <= right) {
temp[t++] = arr[j++];
}
//右边的数组已全部放入temp
while (i <= mid) {
temp[t++] = arr[i++];
}
t = 0;
int tempLeft = left;
while (tempLeft <= right) {
arr[tempLeft++] = temp[t++];
}
}
}

View File

@ -0,0 +1,97 @@
package com.atguigu.sort.selftry;
import com.sun.corba.se.impl.resolver.SplitLocalResolverImpl;
/**
* 快排
*/
public class QuickSort {
public static void main(String[] args) {
int[] arr = {2, 5, 1, 9, 6, 4, 8, 7, 0, 3};
quickSort(arr);
for (int i = 0; i < arr.length; i++) {
System.out.printf(i+" ");
}
}
//数组元素之间的交换
public static void change(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
//对数组内元素进行排序
public static void quickSort(int[] arr) {
sort(arr, 0, arr.length - 1);
}
//对数组内指定范围的数据进行排序
public static void sort(int[] arr, int i, int j) {
if (i > j) {
return;
}
//分别对i到j左子组和右子组的数据进行排序
int partition = partition(arr, i, j); //返回的是分界值所在的索引
sort(arr, i, partition - 1);
sort(arr, partition + 1, j);
}
/**
* 对指定元素的数据,获取排序后的位置索引
*
* @param arr 数组
* @param i 头位置
* @param j 尾位置
* @return
*/
public static int partition(int[] arr, int i, int j) {
int key = arr[i];
int left = i;
int right = j+1;
int count =0;
while (true) {
while (arr[++left] < key){
if(left>=j){
break;
}
}
while (arr[--right]>key){
if(right<=i){
break;
}
}
if(left>=right){
break;
}else {
change(arr, left, right);
}
}
change(arr,i,right);
return right;
}
}

View File

@ -0,0 +1,85 @@
package com.atguigu.sort.selftry;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
public class QuickSort1 {
public static void main(String[] args) {
// int[] arr={2,10,8,22,34,5,2,28,21,11};
// quickSort(arr,0,arr.length-1);
// System.out.println(Arrays.toString(arr));
//测试80000个数据进行测试交换法
int[] arr = new int[20];
for (int i = 0; i < arr.length; i++) {
arr[i] = (int) (Math.random() * 8000000); //生成一个[0,80000]的数
}
Date date1 = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date1Str = simpleDateFormat.format(date1);
System.out.println("排序前的时间:" + date1Str); //排序前的时间:2022-01-14 16:22:18
quickSort(arr, 0, arr.length - 1);
System.out.println(Arrays.toString(arr));
Date date2 = new Date();
String date2Str = simpleDateFormat.format(date2);
System.out.println("排序后的时间:" + date2Str); //排序后的时间:排序后的时间:2022-01-14 16:22:18 //不到一秒
//System.out.println( Arrays.toString(arr));
}
public static void exchange(int[] arr, int i, int j) {
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
public static void quickSort(int[] arr, int i, int j) {
if (i > j) {
return;
}
int index = partition(arr, i, j);
quickSort(arr, i, index - 1);
quickSort(arr, index + 1, j);
}
public static int partition(int[] arr, int i, int j) {
int left = i;
int right = j + 1;
int key = arr[i];
while (true) {
while (left + 1 < arr.length && arr[++left] < key) {
if (left >= j) {
break;
}
}
while (arr[--right] > key) {
if (right <= i) {
break;
}
}
if (left >= right) {
break;
} else {
exchange(arr, left, right);
}
}
exchange(arr, i, right);
return right;
}
}

View File

@ -0,0 +1,69 @@
package com.atguigu.sort.selftry;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SelectSort {
public static void main(String[] args) {
int[] arr={101,34,119,1};
selectSort(arr);
show(arr);
int[] arr1=new int[80000];
for (int i = 0; i < arr1.length; i++) {
arr1[i]=(int) (Math.random()*80000);
}
Date date1 = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time1 = simpleDateFormat.format(date1);
System.out.println("排序前的时间:"+time1);
selectSort(arr1);
Date date2 = new Date();
String time2 = simpleDateFormat.format(date2);
System.out.println("排序前的时间:"+time2);
}
public static void selectSort(int[] arr){
int temp=0;
for (int i = 0; i < arr.length; i++) {
int key =arr[i];
int index=i;
for (int j = i; j < arr.length; j++) {
if(arr[j]<key){
key=arr[j];
index=j;
}
}
if(index!=i){
temp=arr[i];
arr[i]=arr[index];
arr[index]=temp;
}
}
}
public static void show(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.printf(arr[i] + " ");
}
System.out.println();
}
}

View File

@ -0,0 +1,92 @@
package com.atguigu.sort.selftry;
import java.text.SimpleDateFormat;
import java.util.Date;
public class ShellSort {
public static void main(String[] args) {
// int[] arr = {8, 9, 1, 7, 2, 3, 5, 4, 6, 0};
// shellSort1(arr);
// show(arr);
//测试80000个数据进行测试
int[] arr = new int[8000000];
for (int i = 0; i < arr.length; i++) {
arr[i] = (int) (Math.random() * 8000000); //生成一个[0,80000]的数
}
Date date1 = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date1Str = simpleDateFormat.format(date1);
System.out.println("排序前的时间:" + date1Str); //排序前的时间:2022-01-14 15:36:45
//show(arr);
shellSort1(arr);
//show(arr);
Date date2 = new Date();
String date2Str = simpleDateFormat.format(date2);
System.out.println("排序后的时间:" + date2Str); //排序后的时间:2022-01-14 15:36:46 //不到一秒
}
/**
* 分小组的移位法,八百万数据2-3秒
* @param arr
*/
public static void shellSort(int[] arr) {
for (int gap = arr.length / 2; gap >= 1; gap /= 2) {
for (int i = 0; i < gap; i++) {
for (int j = i+gap; j < arr.length; j += gap) {
int key = arr[j];
int flag = j;
if(key<arr[flag-gap]){
while (flag >= i+gap && key < arr[flag - gap]) {
arr[flag] = arr[flag - gap];
flag -= gap;
}
arr[flag]=key;
}
}
}
}
}
/**
* 不分小组,8百万个数据,2秒
* @param arr
*/
public static void shellSort1(int[] arr) {
for (int gap = arr.length / 2; gap >= 1; gap /= 2) {
for (int j = gap; j < arr.length; j ++) {
int key = arr[j];
int flag = j;
if(key<arr[flag-gap]){
while (flag >= gap && key < arr[flag - gap]) {
arr[flag] = arr[flag - gap];
flag -= gap;
}
arr[flag]=key;
}
}
}
}
public static void show(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.printf(arr[i] + " ");
}
System.out.println();
}
}

View File

@ -0,0 +1,59 @@
package com.atguigu.sort.selftry;
import java.text.SimpleDateFormat;
import java.util.Date;
public class insertSort {
public static void main(String[] args) {
// int[] arr = {17, 3, 25, 14, 20, 9};
// insertSort(arr);
// show(arr);
//测试80000个数据进行测试
int[] arr = new int[80000];
for (int i = 0; i < arr.length; i++) {
arr[i] = (int) (Math.random() * 80000); //生成一个[0,80000]的数
}
Date date1 = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date1Str = simpleDateFormat.format(date1);
System.out.println("排序前的时间:" + date1Str); //排序前的时间:2022-01-14 15:36:45
insertSort(arr);
Date date2 = new Date();
String date2Str = simpleDateFormat.format(date2);
System.out.println("排序后的时间:" + date2Str); //排序后的时间:2022-01-14 15:36:46 //不到一秒
}
public static void insertSort(int[] arr) {
for (int i = 1; i < arr.length; i++) {
int key = arr[i];
int flag = i;
while (flag > 0 && key < arr[flag - 1]) {
arr[flag] = arr[flag-1];
flag--;
}
arr[flag] = key;
}
}
public static void show(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.printf(arr[i] + " ");
}
System.out.println();
}
}

View File

@ -0,0 +1,69 @@
package com.atguigu.sort.selftry;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
public class radixSort {
public static void main(String[] args) {
// int[] arr = {53, 3, 542, 748, 14, 214};
//// radixSort(arr);
//// System.out.println(Arrays.toString(arr));
int[] arr =new int[80000];
for (int i = 0; i < arr.length; i++) {
arr[i] = (int)(Math.random()*80000); //生成一个[0,80000]的数
}
Date date1 = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date1Str = simpleDateFormat.format(date1);
System.out.println("排序前的时间:"+date1Str); //排序前的时间:2022-01-18 12:53:42
radixSort(arr);
Date date2 = new Date();
String date2Str = simpleDateFormat.format(date2);
System.out.println("排序后的时间:"+date2Str); //排序后的时间:2022-01-18 12:53:43
}
public static void radixSort(int[] arr) {
int[][] tongs = new int[10][arr.length];
int[] num = new int[10];
int flag = arr[0];
for (int i = 1; i < arr.length; i++) {
if (flag < arr[i]) {
flag = arr[i];
}
}
int length = getLength(flag + "");
for (int i = 0, n = 1; i < length; i++, n *= 10) {
for (int j = 0; j < arr.length ; j++) {
int shu = arr[j] / n % 10;
tongs[shu][num[shu]++] = arr[j];
}
int j = 0;
for (int k = 0; k < 10; k++) {
if (num[k] != 0) {
for (int l = 0; l < num[k]; l++) {
arr[j++] =tongs[k][l];
}
num[k]=0;
}
}
}
}
public static int getLength(String flag) {
return flag.length();
}
}

View File

@ -0,0 +1,87 @@
package com.atguigu.sparsearray;
import java.io.FileInputStream;
public class sparseArray {
public static void main(String[] args) {
//TODO 1.创建一个二维数组11*11
//0表示没有棋子1表示黑子2表示会篮子
int chessArr1[][] =new int[11][11];
chessArr1[1][2]=1;
chessArr1[2][3]=2;
//输出原始的二维数组
System.out.println("原始的二维数组~~");
for (int[] row : chessArr1) {
for (int i : row) {
System.out.printf("%d\t",i);
}
System.out.println();
}
//TODO 2.将二维数组转换为稀疏数组
//1)先遍历二维数组得到非0数据的个数
int sum = 0;
int col =0;
for (int[] row : chessArr1) {
col=row.length;
for (int i : row) {
if(i !=0){
sum++;
}
}
}
//2)创建对应的稀疏数组
int sparseArr[][] =new int[sum+1][3];
//3)给稀疏数组赋值
sparseArr[0][0] =chessArr1.length;
sparseArr[0][1] =col;
sparseArr[0][2] =sum;
int k=0; //用于记录是第几个值
//4)遍历二维数组将非零的值存放在稀疏数组中
for (int i = 0; i < chessArr1.length; i++) {
for (int j = 0; j < col; j++) {
if(chessArr1[i][j] != 0){
k++;
sparseArr[k][0] = i;
sparseArr[k][1] = j;
sparseArr[k][2] = chessArr1[i][j];
}
}
}
System.out.println("=====================================");
System.out.println("得到的稀疏数组为~~~~~~~~");
for (int[] row : sparseArr) {
for (int i : row) {
System.out.printf("%d\t",i);
}
System.out.println();
}
//TODO 3.将稀疏数组恢复成原始的二维数组
int chessArr2[][] = new int[sparseArr[0][0]][sparseArr[0][1]];
int z =0;
for (int[] ints : sparseArr) {
if(z !=0){
chessArr2[ints[0]][ints[1]] = ints[2];
}
z++;
}
System.out.println("=====================================");
System.out.println("恢复后的棋盘为~~~~~~~~");
for (int[] row : chessArr2) {
for (int i : row) {
System.out.printf("%d\t",i);
}
System.out.println();
}
}
}

View File

@ -0,0 +1,114 @@
package com.atguigu.stack;
import java.util.Scanner;
public class ArrayStackDemo {
public static void main(String[] args) {
//测试ArrayStack是否正确
//先创建一个ArrayStack对象表示栈
ArrayStack stack = new ArrayStack(4);
String key = "";
boolean loop =true; //控制是否退出菜单
Scanner scanner = new Scanner(System.in);
while (loop){
System.out.println("show: 表示显示栈");
System.out.println("exit: 退出程序");
System.out.println("push: 表示添加数据到栈(入栈)");
System.out.println("pop: 表示从栈取出数据(出栈)");
System.out.println("请输入你的选择");
key =scanner.next();
if ("show".equals(key)) {
stack.showStack();
} else if ("push".equals(key)) {
System.out.println("请输入一个数:");
int value = scanner.nextInt();
stack.push(value);
} else if ("pop".equals(key)) {
try {
int res = stack.pop();
System.out.printf("出栈的数据是%d\n", res);
} catch (Exception e) {
System.out.println(e.getMessage());
}
} else if ("exit".equals(key)) {
scanner.close();
loop = false;
}
}
System.out.println("程序退出");
}
//定义一个栈结构
public static class ArrayStack{
private int maxSize; //栈大小
private int[] stack; //数组模拟栈,数据就放在该数组中
private int top =-1;
public ArrayStack(int maxSize) {
this.maxSize = maxSize;
this.stack = new int[this.maxSize];
}
//栈满
public boolean isFull(){
return top == maxSize-1;
}
//栈空
public boolean isEmpty(){
return top==-1;
}
//入栈-push
public void push(int value){
//先判断栈是否已经满了
if(isFull()){
System.out.println("栈满了无法放入数据");
return;
}
top++;
stack[top]=value;
}
//出栈-pop将栈顶的数据返回
public int pop(){
//先判断栈是否为空
if(isEmpty()) {
//抛出异常
throw new RuntimeException("栈空,没有数据");
}
int value=stack[top];
top--;
return value;
}
//显示栈的情况[遍历],遍历时,需要从栈顶开始显示数
public void showStack(){
if(isEmpty()){
System.out.println("栈空,没有数据");
return;
}
for (int i = top; i >=0 ; i--) {
System.out.printf("stack[%d]=%d\n",i,stack[i]);
}
}
}
}

View File

@ -0,0 +1,212 @@
package com.atguigu.stack;
import java.beans.PropertyEditorSupport;
/**
* 尚且有问题
* 如果连减就是错的70-2*6-4
*/
public class Calculator {
public static void main(String[] args) {
String expression = "70+2*6-4";
//创建两个栈,一个数栈,一个符号栈
ArrayStack numStack = new ArrayStack(10);
ArrayStack operStack = new ArrayStack(10);
//定义需要的相关变量
int index = 0; //用于扫描
int num1 = 0;
int num2 = 0;
int oper = 0;
int res = 0;
char ch = ' '; //将每次扫描得到char保存到ch
String keepNum = "";
//喧哗扫描expression
while (true) {
//一次得到expression的每一个字符
ch = expression.substring(index, index + 1).charAt(0);
//判断ch是什么然后做相应的处理
if (operStack.isOper(ch)) {
if (!operStack.isEmpty()) {
if (operStack.priority(ch) <= operStack.priority(operStack.peek())) {
num1 = numStack.pop();
num2 = numStack.pop();
oper = operStack.pop();
res = numStack.cal(num1, num2, oper);
//把运算结果放入数栈
numStack.push(res);
//将当前操作符放入符号栈
operStack.push(ch);
} else {
operStack.push(ch);
}
} else {
//如果为空,直接入栈
operStack.push(ch);
}
} else {
//如果是数就入数栈
//思路分析:
//1.当处理多位数时,不能发现是一个数就立即入栈,因为特可能是多位数
//2.在处理数,需要向expression的表达式的index后再看一位,如果是数就进行扫描,如果是符号才入栈
//3.因此需要定义一个变量用于拼接
keepNum += ch;
//如果ch已经是最后一位,就直接入栈
if(index == expression.length()-1){
numStack.push(Integer.parseInt(keepNum));
}else {
if(operStack.isOper(expression.substring(index+1,index+2).charAt(0))){
//是操作符
numStack.push(Integer.parseInt(keepNum));
//清空keeNum
keepNum = "";
}
}
}
//让index+1,并判断是否扫描到expression的末尾
index++;
if (index >= expression.length()) {
break;
}
}
//当表达式扫描完毕,就顺序的从数栈和符号栈中pop出相应的数和符号,并运算
while (true) {
//如果符号栈为空,则计算到最后的结果,书展中只有一个数字结果
if (operStack.isEmpty()) {
break;
}
num1 = numStack.pop();
num2 = numStack.pop();
oper = operStack.pop();
res = numStack.cal(num1, num2, oper);
numStack.push(res);
}
System.out.printf("表达式%s = %d", expression, numStack.pop());
}
//先创建好一个栈
//扩展功能:判断优先级的方法
//查看数组还是字符
public static class ArrayStack {
private int maxSize; //栈大小
private int[] stack; //数组模拟栈,数据就放在该数组中
private int top = -1;
public ArrayStack(int maxSize) {
this.maxSize = maxSize;
this.stack = new int[this.maxSize];
}
//返回当前栈顶的值,但不出栈
public int peek() {
return stack[top];
}
//栈满
public boolean isFull() {
return top == maxSize - 1;
}
//栈空
public boolean isEmpty() {
return top == -1;
}
//入栈-push
public void push(int value) {
//先判断栈是否已经满了
if (isFull()) {
System.out.println("栈满了无法放入数据");
return;
}
top++;
stack[top] = value;
}
//出栈-pop将栈顶的数据返回
public int pop() {
//先判断栈是否为空
if (isEmpty()) {
//抛出异常
throw new RuntimeException("栈空,没有数据");
}
int value = stack[top];
top--;
return value;
}
//显示栈的情况[遍历],遍历时,需要从栈顶开始显示数
public void showStack() {
if (isEmpty()) {
System.out.println("栈空,没有数据");
return;
}
for (int i = top; i >= 0; i--) {
System.out.printf("stack[%d]=%d\n", i, stack[i]);
}
}
//返回运算符的优先级,优先级使用数字表示
//数字越大,则优先级越高
public int priority(int oper) {
if (oper == '*' || oper == '/') {
return 1;
} else if (oper == '*' || oper == '/') {
return 0;
} else {
return -1; //假定只有+ - * /
}
}
//判断是不是一个运算符
public boolean isOper(char val) {
return val == '+' || val == '-' || val == '*' || val == '/';
}
//计算方法
public int cal(int num1, int num2, int oper) {
int res = 0; //res 用于存放计算的结果
switch (oper) {
case '+':
res = num1 + num2;
break;
case '-':
res = num2 - num1;
break;
case '*':
res = num1 * num2;
break;
case '/':
res = num2 / num1;
break;
default:
break;
}
return res;
}
}
}

View File

@ -0,0 +1,210 @@
package com.atguigu.stack;
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;
/**
* 逆波兰计算器求解
*/
public class PolandNotation {
public static void main(String[] args) {
/*
TODO 完成一个将中缀表达式转成后缀表达式的功能
说明:
1. 1 + ( ( 2 + 3 )× 4) - 5 => 1 2 3 + 4 * + 5 -
2.因为直接对str进行操作,不方便,因此先将1+((2+3)×4)-5 =>中缀表达式对应的list
3.将得到的中缀表达式对应的List =>后缀表达式对应的List
*/
String expression = "1+((2+3)*4)-5";
List<String> stringList = toInfixExpressionList(expression);
System.out.println("中缀表达式对应的List="+stringList); //[1, +, (, (, 2, +, 3, ), ×, 4, ), -, 5]
List<String> parseSuffixExpressionList = parseSuffixExpressionList(stringList);
System.out.println("后续表达式对应的List="+parseSuffixExpressionList); //后续表达式对应的List=[1, 2, 3, +, 4, *, +, 5, -]
System.out.printf("expression=%d",calculate(parseSuffixExpressionList)); //expression=16
// //先定义一个逆波兰表达式
// //(30+4)×5-6 => 30 4 + 5 × 6 - =>164
// //4*5-8+60/2 => 4 5 * 8 - 60 + 8 2 / + =>76
// //为了方柏霓,逆波兰表达式的数字和字符使用空格隔开
// String suffixExpression = "4 5 * 8 - 60 + 8 2 / +";
// /*
// TODO 思路
// 1.现将"3 4 + 5 × 6 - " 放到ArrayList中
// 2.将ArrayList传递给一个方法,遍历ArrayList配合栈完成计算
// */
//
// //将表达式一次将数据和运算符放入ArrayList中
// List<String> rpnList = getListString(suffixExpression);
// System.out.println(rpnList);
// int res = calculate(rpnList);
// System.out.println("计算结果是=" + res);
}
public static List<String> parseSuffixExpressionList(List<String> ls){
//定义两个栈
Stack<String> s1 = new Stack<String>(); //符号栈
//s2在整个转换过程中,没有pop操作,且需要逆序输出因此考虑用ArrayList
ArrayList<String> s2 = new ArrayList<String>(); //存储中间结果的Lists
//遍历ls
//"1+((2+3)*4)-5"
for(String item: ls){
//如果是一个数,加入s2
if(item.matches("\\d+")){
s2.add(item);
}else if(item.equals("(")){
s1.push(item);
}else if(item.equals(")")){
//如果是右括号")",则一次弹出s1栈顶的运算符,并压入s2直到遇到左括号为止,此时将这一对括号丢弃
while(!s1.peek().equals("(")){
s2.add(s1.pop());
}
s1.pop(); //将s1弹出,消除小括号
}else {
//当item的优先级,小于等于s1栈顶运算符,将s1栈顶的与运算符弹出并加入到s2中,再次转到4.1
//问题:缺少一个比较优先级高低的方法
while(s1.size() != 0 && Operation.getValue(s1.peek()) >=Operation.getValue(item)){
s2.add(s1.pop());
}
//将item压入栈中
s1.push(item);
}
}
//将s1中剩余的元素符依次弹出并加入s2
while(s1.size() != 0){
s2.add(s1.pop());
}
return s2; //逆序输出后就是后缀表达式
}
//编写一个方法,可以返回一个运算符的优先级
public static class Operation{
private static int ADD =1;
private static int SUB =1;
private static int MUL =2;
private static int DIV =2;
//写一个方法返回对应的优先级
public static int getValue(String operation){
int result =0;
if(operation.equals("+") ){
result =ADD;
}else if(operation.equals("-")){
result =SUB;
}else if(operation.equals("*")){
result =MUL;
}else if(operation.equals("/")){
result =DIV;
}else {
System.out.println("小括号");
}
return result;
}
}
//方法:将中缀表达式转成对应的List
public static List<String> toInfixExpressionList(String s) {
//定义一个List存放中中缀表达式对应的内容
List<String> ls = new ArrayList<String>();
int i = 0; //用于遍历中缀表达式字符串
String str; //对多位数的拼接
char c; //没遍历一个数就放到c
do {
if ((c = s.charAt(i)) < 48 || (c = s.charAt(i)) > 57) {
//如果是一个非数字就加入ls
ls.add("" + c);
i++;
} else {
//如果是一个数,考虑多位数
str = "";
while (i < s.length() && (c = s.charAt(i)) >= 48 && (c = s.charAt(i)) <= 57) {
str +=c;
i++;
}
ls.add(str);
}
} while (i < s.length());
return ls;
}
public static List<String> getListString(String suffixExpression) {
String[] split = suffixExpression.split(" ");
List<String> list = new ArrayList<String>();
for (String s : split) {
list.add(s);
}
return list;
}
//完成对逆波兰表达式的运算
public static int calculate(List<String> ls) {
//创建一个栈,只需要一个栈即可
Stack<String> stack = new Stack<String>();
//遍历ls
for (String item : ls) {
//使用正则表达式取出数
if (item.matches("\\d+")) {
//匹配的是多位数入栈
stack.push(item);
} else {
//pop出两个数,并运算,在入栈
int num2 = Integer.parseInt(stack.pop());
int num1 = Integer.parseInt(stack.pop());
int res = 0;
if (item.equals("+")) {
res = num1 + num2;
} else if (item.equals("-")) {
res = num1 - num2;
} else if (item.equals("*")) {
res = num1 * num2;
} else if (item.equals("/")) {
res = num1 / num2;
} else {
throw new RuntimeException("运算符有误");
}
//把res入栈
stack.push("" + res);
}
}
//最后留在stack中的数据就是运算结果
return Integer.parseInt(stack.pop());
}
}

View File

@ -0,0 +1,164 @@
package com.atguigu.stack;
/**
* 链表模拟栈
*/
public class SingleLinkedListStackTry {
public static void main(String[] args) {
//进行测试
//先创建节点
HeroNode hero1 = new HeroNode(1, "宋江", "及时雨");
HeroNode hero2 = new HeroNode(2, "卢俊义", "玉麒麟");
HeroNode hero3 = new HeroNode(3, "吴用", "智多星");
HeroNode hero4 = new HeroNode(4, "林冲", "豹子头");
SingleLinkedListStack singleLinkedListStack = new SingleLinkedListStack(4);
singleLinkedListStack.push(hero1);
singleLinkedListStack.push(hero2);
singleLinkedListStack.push(hero3);
singleLinkedListStack.push(hero4);
singleLinkedListStack.showLinkedList();
HeroNode pop = singleLinkedListStack.pop();
System.out.println("出栈的值:"+pop);
HeroNode pop1 = singleLinkedListStack.pop();
System.out.println("出栈的值:"+pop1);
singleLinkedListStack.pop();
singleLinkedListStack.pop();
System.out.println("现在的栈:");
singleLinkedListStack.showLinkedList();
}
//定义一个SingleLinkedList管理我们的英雄
public static class SingleLinkedListStack {
//先初始化一个头节点,头节点不动,不存放具体的数据
private HeroNode head = new HeroNode(0, "", "");
private int maxSize;
public SingleLinkedListStack(int maxSize) {
this.maxSize = maxSize;
}
public int getLength(){
HeroNode temp =head;
int num =0;
while (true){
if(temp.next==null){
break;
}
num++;
temp=temp.next;
}
return num;
}
//链表模拟入栈
private void push(HeroNode data){
if(getLength()>=maxSize){
System.out.println("栈满,无法加入");
return;
}
HeroNode temp = head.next;
HeroNode cur = null;
boolean flag =false;
if(temp!=null){
flag=true;
}
if(flag){
cur=temp;
head.next=data;
data.next=cur;
}else {
head.next=data;
}
}
//链表模拟出栈
public HeroNode pop(){
if(head.next==null){
throw new RuntimeException("栈空,无法出栈");
}
HeroNode temp =head.next;
HeroNode cur=null;
HeroNode value =temp;
cur=temp.next;
head.next=cur;
return temp;
}
/**
* 显示链表
*/
public void showLinkedList() {
//判断链表是否为空
if (head.next == null) {
System.out.println("链表为空");
return;
}
//遍历
HeroNode temp = head.next;
while (true) {
//判断是否到链表的结尾
if (temp == null) {
break;
}
//输出节点信息
System.out.println(temp);
temp = temp.next;
}
}
}
//定义HeroNode,每个HeroNode对象就是一个节点
public static class HeroNode {
private int no;
private String name;
public String nickname;
private HeroNode next;
public HeroNode() {
}
public HeroNode(int no, String name, String nickname) {
this.no = no;
this.name = name;
this.nickname = nickname;
}
public HeroNode(int no, String name, String nickname, HeroNode next) {
this.no = no;
this.name = name;
this.nickname = nickname;
this.next = next;
}
@Override
public String toString() {
return "HeroNode{" +
"no=" + no +
", name='" + name + '\'' +
", nickname='" + nickname + '\'' +
'}';
}
}
}

View File

@ -0,0 +1,58 @@
package com.atguigu.tree;
/**
* 如何将一个数组转化为一个顺序存储的满二叉树
*/
public class ArrBinaryTreeDemo {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7};
//创建一个ArrBinaryTree
ArrayBinaryTree arrayBinaryTree = new ArrayBinaryTree(arr);
arrayBinaryTree.preOrder();
}
}
//编写一个ArrayBinaryTree,实现顺序存储二叉树遍历
class ArrayBinaryTree {
private int[] arr;//存储数据节点的数组
public ArrayBinaryTree(int[] arr) {
this.arr = arr;
}
//重载preOrder
public void preOrder(){
this.preOrder(0);
}
/**
* 编写一个方法,完成顺序存储二叉树的一个前序遍历
* 第n个元素的左子节点为2*n+1
* 第n个元素的右子节点为2*n+2
* 第n个元素的父节点为(n-1)/2
* @param index 数组的下标
*/
public void preOrder(int index) {
//如果数组为空,或者arr.length=0
if (arr == null || arr.length == 0) {
System.out.println("数组为空,不能按照二叉树的前序遍历");
}
//输出当前这个元素
System.out.println(arr[index]);
//向左递归调用
if ((index * 2 + 1) < arr.length) {
preOrder(index * 2 + 1);
}
//向右递归遍历
if((index * 2 + 2) < arr.length){
preOrder(index*2+2);
}
}
}

View File

@ -0,0 +1,326 @@
package com.atguigu.tree;
public class BinaryTreeDemo {
public static void main(String[] args) {
//创建一个二叉树
binaryTree binaryTree = new binaryTree();
//创建节点
HeroNode root = new HeroNode(1, "宋江");
HeroNode heroNode2 = new HeroNode(2, "吴用");
HeroNode heroNode3 = new HeroNode(3, "卢俊义");
HeroNode heroNode4 = new HeroNode(4, "林冲");
HeroNode heroNode5 = new HeroNode(5, "关胜");
//先手动创建二叉树,后续可以递归创建二叉树
root.setLeft(heroNode2);
root.setRight(heroNode3);
heroNode3.setRight(heroNode4);
heroNode3.setLeft(heroNode5);
binaryTree.setRoot(root);
// //前序遍历
// System.out.println("前序遍历:");
// binaryTree.preOrder();
//
// //中序遍历
// System.out.println("中序遍历:");
// binaryTree.infixOrder();
//
// //后序遍历
// System.out.println("后序遍历:");
// binaryTree.postOrder();
// //前序查找
// System.out.println("前序查找");
// HeroNode heroNode = binaryTree.preOrderSearch(4);
// System.out.println(heroNode);
//删除节点
System.out.println("删除前的前序遍历");
binaryTree.preOrder(); //1 2 3 5 4
binaryTree.delNode(5);
System.out.println("删除后的前序遍历");
binaryTree.preOrder();
}
}
//创建一个二叉树
class binaryTree {
private HeroNode root;
public void setRoot(HeroNode root) {
this.root = root;
}
//前序遍历
public void preOrder() {
this.root.preOrder();
}
//中序遍历
public void infixOrder() {
this.root.infixOrder();
}
//前序遍历
public void postOrder() {
this.root.postOrder();
}
public HeroNode preOrderSearch(int no) {
HeroNode heroNode = root.preOrderSearch(no);
if (heroNode == null) {
System.out.println("未找到节点");
}
return heroNode;
}
public HeroNode infixOrderSearch(int no) {
HeroNode heroNode = root.infixOrderSearch(no);
if (heroNode == null) {
System.out.println("未找到节点");
}
return heroNode;
}
public HeroNode postOrderSearch(int no) {
HeroNode heroNode = root.postOrderSearch(no);
if (heroNode == null) {
System.out.println("未找到节点");
}
return heroNode;
}
public Boolean delNode(int no) {
if (root == null) {
System.out.println("该子树目前为空,无法删除");
return false;
} else {
if (root.getNo() == no) {
root = null;
return true;
}
return root.delNode(no);
}
}
}
//创建HeroNode节点
class HeroNode {
private int no;
private String name;
private HeroNode left; //默认为null
private HeroNode right; //默认为null
public HeroNode(int no, String name) {
this.no = no;
this.name = name;
}
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public HeroNode getLeft() {
return left;
}
public void setLeft(HeroNode left) {
this.left = left;
}
public HeroNode getRight() {
return right;
}
public void setRight(HeroNode right) {
this.right = right;
}
@Override
public String toString() {
return "HeroNode{" +
"no=" + no +
", name='" + name + '\'' +
'}';
}
//前序遍历
public void preOrder() {
if (this != null) {
System.out.println(this);
if (this.left != null) {
this.left.preOrder();
}
if (this.right != null) {
this.right.preOrder();
}
} else {
System.out.println("当前二叉树为空");
return;
}
}
//中序遍历
public void infixOrder() {
if (this != null) {
if (this.left != null) {
this.left.infixOrder();
}
System.out.println(this);
if (this.right != null) {
this.right.infixOrder();
}
} else {
System.out.println("当前二叉树为空");
return;
}
}
//后序遍历
public void postOrder() {
if (this != null) {
if (this.left != null) {
this.left.postOrder();
}
if (this.right != null) {
this.right.postOrder();
}
System.out.println(this);
} else {
System.out.println("当前二叉树为空");
return;
}
}
//前序查找
public HeroNode preOrderSearch(int no) {
if (this == null) {
System.out.println("当前子节点为空");
return null;
} else {
if (this.no == no) {
return this;
}
HeroNode resNode = null;
if (this.left != null) {
resNode = this.left.preOrderSearch(no);
}
if (resNode == null) {
if (this.right != null) {
resNode = this.right.preOrderSearch(no);
}
}
return resNode;
}
}
//中序查找
public HeroNode infixOrderSearch(int no) {
if (this == null) {
System.out.println("当前子节点为空");
return null;
} else {
HeroNode resNode = null;
if (this.left != null) {
resNode = this.left.preOrderSearch(no);
}
if (resNode == null) {
if (this.no == no) {
return this;
}
if (this.right != null) {
resNode = this.right.preOrderSearch(no);
}
}
return resNode;
}
}
//后序查找
public HeroNode postOrderSearch(int no) {
if (this == null) {
System.out.println("当前子节点为空");
return null;
} else {
HeroNode resNode = null;
if (this.left != null) {
resNode = this.left.preOrderSearch(no);
}
if (resNode == null) {
if (this.right != null) {
resNode = this.right.preOrderSearch(no);
}
if (resNode == null) {
if (this.no == no) {
return this;
}
}
}
return resNode;
}
}
/**
* 递归删除节点
* 1.如果删除的节点是叶子结点,就删除该节点
* 2.如果删除的节点是非叶子节点则删除该子树
*
* @param no 要删除的节点编号
*/
public Boolean delNode(int no) {
if (this.left != null && this.left.no == no) {
this.left = null;
return true;
}
if (this.right != null && this.right.no == no) {
this.right = null;
return true;
}
Boolean flag = false;
if (this.left != null) {
flag = this.left.delNode(no);
}
if (!flag) {
if (this.right != null) {
flag = this.right.delNode(no);
}
}
return flag;
}
}

View File

@ -0,0 +1,97 @@
package com.atguigu.tree;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
/**
* 堆排序
*/
public class HeapSort {
public static void main(String[] args) {
// int[] arr = {20, 50, 45, 40, 35,10,30,15,25};
// //要求将数组按升序排列
// heapSort(arr);
// System.out.println(Arrays.toString(arr));
//测试80000个数据进行测试
int[] arr =new int[8000000];
for (int i = 0; i < arr.length; i++) {
arr[i] = (int)(Math.random()*8000000); //生成一个[0,80000]的数
}
Date date1 = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date1Str = simpleDateFormat.format(date1);
System.out.println("排序前的时间:"+date1Str); //排序前的时间:2022-02-15 21:19:36
heapSort(arr);
Date date2 = new Date();
String date2Str = simpleDateFormat.format(date2);
System.out.println("排序后的时间:"+date2Str); //排序后的时间:2022-02-15 21:19:40
}
/**
* 编写一个堆排序的方法
*/
public static void heapSort(int[] arr) {
//TODO (1)将无序序列构建成一个堆,根据升序降序需求选择大顶堆或者小顶堆
//arr.length/2-1求出来的是完全二叉树的最后一个非叶子节点
for (int i = arr.length/2-1; i >= 0; i--) {
adjustHeap(arr,i,arr.length);
}
int temp=0;
//TODO (2)将顶对元素与末尾元素交换,将最大元素放置在数组末尾
//TODO (3)重新调整结构,使其满足堆定义,然后继续交换对顶元素与当前末尾元素,贩毒执行调整+交换步骤,直到整个序列有序
for (int i = arr.length-1; i >0; i--) {
//交换
temp=arr[i];
arr[i]=arr[0];
arr[0]=temp;
adjustHeap(arr,0,i);
}
}
/**
* 前提:该节点的所有子节点都已经是大顶堆了
* 将以第i个位置为根节点时以下树,调整成一个大顶堆
*
* @param arr 待调整的数组
* @param i 表示非叶子节点在数组的中的索引
* @param length 表示对多少各位元素继续调整length是在逐渐地减小的
*/
public static void adjustHeap(int[] arr, int i, int length) {
int temp = arr[i];//将当前数组的元素值,保存在临时变量
//开始调整
//说明:j = i * 2 + 1 ;这里k就是i节点的左子节点
for (int j = i * 2 + 1; j < length; j = j * 2 + 1) {
if (j + 1 < length && arr[j] < arr[j + 1]) {
//左子节点的值小于右子节点的值
j++; //j指向右子节点
}
if (arr[j] > temp) {
//如果子节点大于父节点
arr[i] = arr[j];//把较大的值赋给当前节点
i = j; //将i指向j继续循环比较
}else {
break;
}
}
//当for循环结束后,我们已经将以i为父节点的树的最大值,放在了i的位置
arr[i]=temp; //将temp值放在调整后的位置
}
}

View File

@ -0,0 +1,16 @@
package com.atguigu.tree;
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
//以ArrayList底层为例,看看底层是如何实现扩容的
//底层:transient Object[] elementData;维护了一个可扩容的Object数组
//当数组需要扩容时会调用grow方法进行扩容
ArrayList<Object> objects = new ArrayList<Object>();
}
}

View File

@ -0,0 +1,416 @@
package com.atguigu.tree.Threadedbinarytree;
public class ThreadedBinaryTreeDemo {
public static void main(String[] args) {
//测试中序线索化二叉树的功能
HeroNode root = new HeroNode(1, "tom");
HeroNode node2 = new HeroNode(3, "jack");
HeroNode node3 = new HeroNode(6, "smith");
HeroNode node4 = new HeroNode(8, "mary");
HeroNode node5 = new HeroNode(10, "king");
HeroNode node6 = new HeroNode(14, "dim");
//二叉树,后面我们要递归创建,现在简单处理使用手动创建
root.setLeft(node2);
root.setRight(node3);
node2.setLeft(node4);
node2.setRight(node5);
node3.setLeft(node6);
//测试中序线索化
ThreadedBinaryTree threadedBinaryTree = new ThreadedBinaryTree();
threadedBinaryTree.setRoot(root);
threadedBinaryTree.threadedNodes();
//测试:以10号节点进行测试
HeroNode leftNode = node5.getLeft();
HeroNode rightNode = node5.getRight();
System.out.println("10号节点的前驱结点是:"+leftNode); //3
System.out.println("10号节点的后继结点是:"+rightNode); //1
//当线索化二叉树后,不能再使用以前的遍历方法了
System.out.println("使用线索化的方式遍历线索化二叉树:");
threadedBinaryTree.threadedList(); //8,3,10,1,14,6
}
}
//定义ThreadedBinaryTree实现了线索化功能二叉树
class ThreadedBinaryTree {
private HeroNode root;
//为了实现线索化,需要创建要给指向当前节点的前驱结点的指针
//在递归进行线索化时,pre总是保留前一个节点
private HeroNode pre = null;
public void setRoot(HeroNode root) {
this.root = root;
}
//重载threadedNodes方法
public void threadedNodes(){
this.threadedNodes(root);
}
/**
* 遍历线索化二叉树的方法
*
*/
public void threadedList(){
//定义一个变量,存储当前遍历的节点,从root开始
HeroNode node =root;
while(node !=null){
//循环找到leftType == 1,第一个找到的就是8节点
//当leftType==1.说明该节点是按照线索化处理后的有效节点
while(node.getLeftType()==0){
node=node.getLeft();
}
//打印当前及诶单
System.out.println(node);
//如果当前节点的右节点指向的是后稷街店,就一直输出
while(node.getRightType() ==1){
node=node.getRight();
System.out.println(node);
}
//替换这个遍历的节点
node=node.getRight();
}
}
/**
* 编写对二叉树进行中序线索化的方法
*
* @param node 当前需要线索化的节点
*/
public void threadedNodes(HeroNode node) {
if (node == null) {
//无法线索化
return;
}
//TODO ()先线索化左子树
threadedNodes(node.getLeft());
//TODO ()线索化当前节点
//处理当前节点的前驱节点
if (node.getLeft() == null) {
//让当前节点的左指针指向前驱结点
node.setLeft(pre);
//修改当前节点的左指针的类型,指向前驱结点
node.setLeftType(1);
}
//处理的当前节点的后继节点
if (pre != null && pre.getRight() == null) {
//让前驱结点的有指针指向当前节点
pre.setRight(node);
//修改前驱结点的右指针类型
pre.setRightType(1);
}
//每处理一个节点后,让当前节点是下一个节点的前驱节点
pre=node;
//TODO ()线索化右子数
threadedNodes(node.getRight());
}
//前序遍历
public void preOrder() {
this.root.preOrder();
}
//中序遍历
public void infixOrder() {
this.root.infixOrder();
}
//前序遍历
public void postOrder() {
this.root.postOrder();
}
public HeroNode preOrderSearch(int no) {
HeroNode heroNode = root.preOrderSearch(no);
if (heroNode == null) {
System.out.println("未找到节点");
}
return heroNode;
}
public HeroNode infixOrderSearch(int no) {
HeroNode heroNode = root.infixOrderSearch(no);
if (heroNode == null) {
System.out.println("未找到节点");
}
return heroNode;
}
public HeroNode postOrderSearch(int no) {
HeroNode heroNode = root.postOrderSearch(no);
if (heroNode == null) {
System.out.println("未找到节点");
}
return heroNode;
}
public Boolean delNode(int no) {
if (root == null) {
System.out.println("该子树目前为空,无法删除");
return false;
} else {
if (root.getNo() == no) {
root = null;
return true;
}
return root.delNode(no);
}
}
}
//创建HeroNode
class HeroNode {
private int no;
private String name;
private HeroNode left; //默认为null
private HeroNode right; //默认为null
//说明:
//1.如果leftType==0表示指向的是左子树,如果是1则表示前驱节点
//1.如果rightType==0表示指向的是右子树,如果是1则表示后继节点
private int leftType;
private int rightType;
public int getLeftType() {
return leftType;
}
public void setLeftType(int leftType) {
this.leftType = leftType;
}
public int getRightType() {
return rightType;
}
public void setRightType(int rightType) {
this.rightType = rightType;
}
public HeroNode(int no, String name) {
this.no = no;
this.name = name;
}
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public HeroNode getLeft() {
return left;
}
public void setLeft(HeroNode left) {
this.left = left;
}
public HeroNode getRight() {
return right;
}
public void setRight(HeroNode right) {
this.right = right;
}
@Override
public String toString() {
return "HeroNode{" +
"no=" + no +
", name='" + name + '\'' +
'}';
}
//前序遍历
public void preOrder() {
if (this != null) {
System.out.println(this);
if (this.left != null) {
this.left.preOrder();
}
if (this.right != null) {
this.right.preOrder();
}
} else {
System.out.println("当前二叉树为空");
return;
}
}
//中序遍历
public void infixOrder() {
if (this != null) {
if (this.left != null) {
this.left.infixOrder();
}
System.out.println(this);
if (this.right != null) {
this.right.infixOrder();
}
} else {
System.out.println("当前二叉树为空");
return;
}
}
//后序遍历
public void postOrder() {
if (this != null) {
if (this.left != null) {
this.left.postOrder();
}
if (this.right != null) {
this.right.postOrder();
}
System.out.println(this);
} else {
System.out.println("当前二叉树为空");
return;
}
}
//前序查找
public HeroNode preOrderSearch(int no) {
if (this == null) {
System.out.println("当前子节点为空");
return null;
} else {
if (this.no == no) {
return this;
}
HeroNode resNode = null;
if (this.left != null) {
resNode = this.left.preOrderSearch(no);
}
if (resNode == null) {
if (this.right != null) {
resNode = this.right.preOrderSearch(no);
}
}
return resNode;
}
}
//中序查找
public HeroNode infixOrderSearch(int no) {
if (this == null) {
System.out.println("当前子节点为空");
return null;
} else {
HeroNode resNode = null;
if (this.left != null) {
resNode = this.left.preOrderSearch(no);
}
if (resNode == null) {
if (this.no == no) {
return this;
}
if (this.right != null) {
resNode = this.right.preOrderSearch(no);
}
}
return resNode;
}
}
//后序查找
public HeroNode postOrderSearch(int no) {
if (this == null) {
System.out.println("当前子节点为空");
return null;
} else {
HeroNode resNode = null;
if (this.left != null) {
resNode = this.left.preOrderSearch(no);
}
if (resNode == null) {
if (this.right != null) {
resNode = this.right.preOrderSearch(no);
}
if (resNode == null) {
if (this.no == no) {
return this;
}
}
}
return resNode;
}
}
/**
* 递归删除节点
* 1.如果删除的节点是叶子结点,就删除该节点
* 2.如果删除的节点是非叶子节点则删除该子树
*
* @param no 要删除的节点编号
*/
public Boolean delNode(int no) {
if (this.left != null && this.left.no == no) {
this.left = null;
return true;
}
if (this.right != null && this.right.no == no) {
this.right = null;
return true;
}
Boolean flag = false;
if (this.left != null) {
flag = this.left.delNode(no);
}
if (!flag) {
if (this.right != null) {
flag = this.right.delNode(no);
}
}
return flag;
}
}

View File

@ -0,0 +1,16 @@
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.atguigu.DataStructures_Algorithm</groupId>
<artifactId>DataStructures_Algorithm</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>DataStructures</module>
</modules>
</project>

20
Leecode/pom.xml Normal file
View File

@ -0,0 +1,20 @@
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>Leecode</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>RELEASE</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,97 @@
package listnode;
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
import com.sun.corba.se.impl.resolver.SplitLocalResolverImpl;
/**
* 2.两数相加
*/
public class addTwoNumbers {
public static void main(String[] args) {
ListNode l1 = new ListNode(9);
// l1.next=new ListNode(4);
// l1.next.next=new ListNode(3);
ListNode l2 = new ListNode(1);
l2.next = new ListNode(9);
l2.next.next = new ListNode(9);
l2.next.next.next = new ListNode(9);
l2.next.next.next.next = new ListNode(9);
l2.next.next.next.next.next = new ListNode(9);
l2.next.next.next.next.next.next = new ListNode(9);
l2.next.next.next.next.next.next.next = new ListNode(9);
l2.next.next.next.next.next.next.next.next = new ListNode(9);
l2.next.next.next.next.next.next.next.next.next = new ListNode(9);
addTwoNums(l1, l2);
}
//两非空链表
public static ListNode addTwoNums(ListNode l1, ListNode l2) {
ListNode head = null;
ListNode tail = null;
int carry = 0;
while (l1 != null || l2 != null) {
int num1 = l1 == null ? 0 : l1.val;
int num2 = l2 == null ? 0 : l2.val;
carry = num1 + num2 + carry;
if (head == null) {
head = tail = new ListNode(carry % 10);
} else {
tail.next = new ListNode(carry % 10);
tail = tail.next;
}
carry /= 10;
if (l1 != null) {
l1 = l1.next;
}
if (l2 != null) {
l2 = l2.next;
}
}
if (carry != 0) {
tail.next = new ListNode(carry);
}
return head;
}
public static class ListNode {
int val;
ListNode next;
ListNode() {
}
ListNode(int val) {
this.val = val;
}
ListNode(int val, ListNode next) {
this.val = val;
this.next = next;
}
}
}

View File

@ -0,0 +1,100 @@
package listnode;
public class mergeKLists {
public static void main(String[] args) {
ListNode[] lists=new ListNode[1];
ListNode l0 = new ListNode();
// l0.next=new ListNode(4);
// l0.next.next=new ListNode(5);
ListNode l1 = new ListNode(1);
l1.next=new ListNode(3);
l1.next.next=new ListNode(4);
ListNode l2 = new ListNode(2);
// l2.next = new ListNode(2);
l2.next = new ListNode(6);
// l2.next.next =new ListNode(4);
lists[0]=l0;
// lists[1]=l1;
// lists[2]=l2;
ListNode listNode = mergeKLists(lists);
}
/**
* 分治算法思路求解
* @param lists
* @return
*/
public static ListNode mergeKLists(ListNode[] lists){
int k=lists.length;
return mergeLists(lists,0,k-1);
}
public static ListNode mergeLists(ListNode[] list,int head,int tail){
if(head==tail){
return list[head];
}
if(head>tail){
return null;
}
int mid=(head+tail)/2;
ListNode listNode1 = mergeLists(list, head, mid);
ListNode listNode2 = mergeLists(list, mid + 1, tail);
return mergeTwoLists(listNode1,listNode2);
}
public static ListNode mergeTwoLists(ListNode listNode1,ListNode listNode2){
if(listNode1==null){
return listNode2;
}else if(listNode2==null){
return listNode1;
}else if(listNode1.val<listNode2.val){
listNode1.next=mergeTwoLists(listNode1.next,listNode2);
return listNode1;
}else {
listNode2.next=mergeTwoLists(listNode1,listNode2.next);
return listNode2;
}
}
public static Boolean isEmpty(ListNode[] lists){
for (int i = 0; i < lists.length; i++) {
if(lists[i]!=null){
return false;
}
}
return true;
}
public static class ListNode {
int val;
ListNode next;
ListNode() {
}
ListNode(int val) {
this.val = val;
}
ListNode(int val, ListNode next) {
this.val = val;
this.next = next;
}
}
}

View File

@ -0,0 +1,92 @@
package listnode;
public class mergeTwoLists {
public static void main(String[] args) {
ListNode l1 = new ListNode(1);
l1.next=new ListNode(2);
l1.next.next=new ListNode(4);
ListNode l2 = new ListNode(1);
// l2.next = new ListNode(2);
l2.next = new ListNode(3);
l2.next.next =new ListNode(4);
ListNode listNode = mergeTwoLists1(l1, l2);
}
/**
* 递归法判断完之后调用较小链表的下一个
* @param list1
* @param list2
* @return
*/
public static ListNode mergeTwoLists(ListNode list1, ListNode list2) {
if(list1==null){
return list2;
}else if(list2==null){
return list1;
}else if(list1.val<list2.val){
list1.next=mergeTwoLists(list1.next,list2);
return list1;
}else {
list2.next=mergeTwoLists(list1,list2.next);
return list2;
}
}
/**
* 指针判断法
* @param list1
* @param list2
* @return
*/
public static ListNode mergeTwoLists1(ListNode list1, ListNode list2) {
ListNode preHead=new ListNode(-1);
ListNode pre=preHead;
while (list1!=null&&list2!=null){
if(list1.val<list2.val){
pre.next=list1;
list1=list1.next;
}else {
pre.next=list2;
list2=list2.next;
}
pre=pre.next;
}
pre.next= list1==null? list2:list1;
return preHead.next;
}
public static class ListNode {
int val;
ListNode next;
ListNode() {
}
ListNode(int val) {
this.val = val;
}
ListNode(int val, ListNode next) {
this.val = val;
this.next = next;
}
}
}

View File

@ -0,0 +1,146 @@
package listnode;
/**
* 删除链表的倒数第N个节点
*/
public class removeNthFromEnd {
public static void main(String[] args) {
ListNode l2 = new ListNode(1);
// l2.next = new ListNode(2);
// l2.next.next = new ListNode(3);
// l2.next.next.next =new ListNode(4);
// l2.next.next.next.next =new ListNode(5);
// l2.next.next.next.next.next = new ListNode(9);
// l2.next.next.next.next.next.next =new ListNode(9);
// l2.next.next.next.next.next.next.next = new ListNode(9);
// l2.next.next.next.next.next.next.next.next =new ListNode(9);
// l2.next.next.next.next.next.next.next.next.next =new ListNode(9);
removeNthFromEnd3(l2, 1);
getLength(l2);
}
/**
* 获取长度length之后遍历到第length-n的位置删除
*
* @param head
* @param n
* @return
*/
public static ListNode removeNthFromEnd1(ListNode head, int n) {
//添加头节点
ListNode dust = new ListNode(0, head);
int length = getLength(head);
if (n == length) {
return head.next;
}
for (int i = n; i < length - 1; i++) {
head = head.next;
}
head.next = head.next.next;
return dust.next;
}
/**
* 快慢指针
* 使用一个快指针比慢指针快n,当快指针到达尾部的时候慢指针刚好到倒数第N个位置
* @param head
* @param n
* @return
*/
public static ListNode removeNthFromEnd2(ListNode head,int n){
//添加头节点
ListNode dust =new ListNode(0,head);
ListNode fast=head;
ListNode slow=dust;
//快指针先走n步
for (int i = 0; i < n; i++) {
fast=fast.next;
}
//快指针走到头,慢指针走到倒数第n-1个
while(fast !=null){
fast=fast.next;
slow=slow.next;
}
slow.next=slow.next.next;
return dust.next;
}
/**
* 递归法,递归找到链表的尾回溯时n+1
* @param head
* @param n
* @return
*/
public static ListNode removeNthFromEnd3(ListNode head,int n){
int sum = traverse(head, n);
if(sum==n){
return head.next;
}
return head;
}
private static int traverse(ListNode node, int n) {
if(node ==null){
return 0;
}
int sum=traverse(node.next,n);
if(sum==n){
node.next=node.next.next;
}
return sum+1;
}
public static int getLength(ListNode head) {
ListNode temp = head;
int count = 0;
while (temp != null) {
count++;
temp = temp.next;
}
return count;
}
public static class ListNode {
int val;
ListNode next;
ListNode() {
}
ListNode(int val) {
this.val = val;
}
ListNode(int val, ListNode next) {
this.val = val;
this.next = next;
}
}
}

View File

@ -0,0 +1,99 @@
package listnode.selftry;
import listnode.mergeTwoLists;
public class mergeKLists {
public static void main(String[] args) {
ListNode[] lists=null;
ListNode l0 = new ListNode();
// l0.next=new ListNode(4);
// l0.next.next=new ListNode(5);
ListNode l1 = new ListNode(1);
l1.next=new ListNode(3);
l1.next.next=new ListNode(4);
ListNode l2 = new ListNode(2);
// l2.next = new ListNode(2);
l2.next = new ListNode(6);
// l2.next.next =new ListNode(4);
// lists[0]=l0;
// lists[1]=l1;
// lists[2]=l2;
ListNode listNode = mergeKLists(lists);
}
public static ListNode mergeKLists(ListNode[] lists){
ListNode head=new ListNode();
ListNode dust=new ListNode(1,head);
if(lists==null){
return null;
}
if(isEmpty(lists)){
return null;
}
while (!isEmpty(lists)){
int min=0;
int flag=0;
for (int i = 0; i < lists.length; i++) {
if(lists[i]!=null){
min=lists[i].val;
flag=i;
}
}
for (int i = 0; i < lists.length; i++) {
if(lists[i]!=null){
if(min>lists[i].val){
min=lists[i].val;
flag=i;
}
}
}
head.next=lists[flag];
head=head.next;
lists[flag]=lists[flag].next;
}
return dust.next.next;
}
public static Boolean isEmpty(ListNode[] lists){
for (int i = 0; i < lists.length; i++) {
if(lists[i]!=null){
return false;
}
}
return true;
}
public static class ListNode {
int val;
ListNode next;
ListNode() {
}
ListNode(int val) {
this.val = val;
}
ListNode(int val, ListNode next) {
this.val = val;
this.next = next;
}
}
}

View File

@ -0,0 +1,82 @@
package listnode.selftry;
import listnode.addTwoNumbers;
import listnode.removeNthFromEnd;
public class mergeTwoLists {
public static void main(String[] args) {
ListNode l1 = new ListNode();
// l1.next=new ListNode(2);
// l1.next.next=new ListNode(4);
ListNode l2 = new ListNode(0);
// l2.next = new ListNode(2);
// l2.next = new ListNode(3);
// l2.next.next =new ListNode(4);
ListNode listNode = mergeTwoLists(l1, l2);
}
public static ListNode mergeTwoLists(ListNode list1, ListNode list2) {
if(list1==null){
return list2;
}
if(list2==null){
return list1;
}
ListNode head=new ListNode();
ListNode dust=new ListNode(0,head);
while (list1!=null&&list2!=null){
if(list1.val<list2.val){
head.next=new ListNode(list1.val);
list1=list1.next;
head=head.next;
}else {
head.next=new ListNode(list2.val);
list2=list2.next;
head=head.next;
}
}
while (list1!=null){
head.next=new ListNode(list1.val);
list1=list1.next;
head=head.next;
}
while (list2!=null){
head.next=new ListNode(list2.val);
list2=list2.next;
head=head.next;
}
return dust.next.next;
}
public static class ListNode {
int val;
ListNode next;
ListNode() {
}
ListNode(int val) {
this.val = val;
}
ListNode(int val, ListNode next) {
this.val = val;
this.next = next;
}
}
}

View File

@ -0,0 +1,98 @@
package listnode.selftry;
/**
* 删除链表的倒数第N个节点
*/
public class removeNthFromEnd {
public static void main(String[] args) {
ListNode l2 = new ListNode(1);
// l2.next = new ListNode(2);
// l2.next.next = new ListNode(3);
// l2.next.next.next =new ListNode(4);
// l2.next.next.next.next =new ListNode(5);
// l2.next.next.next.next.next = new ListNode(9);
// l2.next.next.next.next.next.next =new ListNode(9);
// l2.next.next.next.next.next.next.next = new ListNode(9);
// l2.next.next.next.next.next.next.next.next =new ListNode(9);
// l2.next.next.next.next.next.next.next.next.next =new ListNode(9);
removeNthFromEnd(l2,1);
getLength(l2);
}
public static ListNode removeNthFromEnd(ListNode head, int n) {
int length = getLength(head);
ListNode temp=head;
boolean flag=false;
for (int i = n; i < length-1; i++) {
temp=temp.next;
if(!flag){
flag=true;
}
}
if(!flag){
if(n==length){
if(temp.next==null){
temp=null;
head=null;
}else {
temp=temp.next;
head=head.next;
}
}else {
temp.next=temp.next.next;
}
}else {
temp.next=temp.next.next;
}
return head;
}
public static int getLength(ListNode head){
ListNode temp =head;
int count=0;
while(temp!=null){
count++;
temp=temp.next;
}
System.out.println(count);
return count;
}
public static class ListNode {
int val;
ListNode next;
ListNode() {
}
ListNode(int val) {
this.val = val;
}
ListNode(int val, ListNode next) {
this.val = val;
this.next = next;
}
}
}

View File

@ -0,0 +1,33 @@
package listnode.selftry;
import listnode.swapPairs;
public class reverseKGroup {
public static void main(String[] args) {
}
public ListNode reverseKGroup(ListNode head, int k) {
return null;
}
public static class ListNode {
int val;
swapPairs.ListNode next;
ListNode() {
}
ListNode(int val) {
this.val = val;
}
ListNode(int val, swapPairs.ListNode next) {
this.val = val;
this.next = next;
}
}
}

View File

@ -0,0 +1,65 @@
package listnode.selftry;
public class swapPairs {
public static void main(String[] args) {
ListNode l1 = new ListNode(1);
//l1.next=new ListNode(2);
//l1.next.next=new ListNode(3);
//l1.next.next.next=new ListNode(4);
ListNode listNode = swapPairs(l1);
}
public static ListNode swapPairs(ListNode head) {
if(head==null){
return null;
}
ListNode dust=head;
ListNode swap=head.next;
int temp=0;
while (swap!=null){
temp=swap.val;
swap.val=head.val;
head.val=temp;
if(swap.next!=null){
if(swap.next.next!=null){
swap=swap.next.next;
head=head.next.next;
}else {
break;
}
}else {
break;
}
}
return dust;
}
public static class ListNode {
int val;
ListNode next;
ListNode() {
}
ListNode(int val) {
this.val = val;
}
ListNode(int val, ListNode next) {
this.val = val;
this.next = next;
}
}
}

View File

@ -0,0 +1,79 @@
package listnode;
public class swapPairs {
public static void main(String[] args) {
ListNode l1 = new ListNode(1);
l1.next=new ListNode(2);
l1.next.next=new ListNode(3);
l1.next.next.next=new ListNode(4);
ListNode listNode = swapPairs(l1);
}
/**
* 递归方式实现
* @param head
* @return
*/
public static ListNode swapPairs(ListNode head) {
if(head ==null||head.next==null){
return head;
}
ListNode newHead=head.next;
head.next=swapPairs(newHead.next);
newHead.next=head;
return newHead;
}
/**
* 迭代方式实现
* @param head
* @return
*/
public static ListNode swapPairs1(ListNode head) {
ListNode dummyHead = new ListNode(0);
dummyHead.next = head;
ListNode temp = dummyHead;
while (temp.next != null && temp.next.next != null) {
ListNode node1 = temp.next;
ListNode node2 = temp.next.next;
temp.next = node2;
node1.next = node2.next;
node2.next = node1;
temp = node1;
}
return dummyHead.next;
}
public static class ListNode {
int val;
ListNode next;
ListNode() {
}
ListNode(int val) {
this.val = val;
}
ListNode(int val, ListNode next) {
this.val = val;
this.next = next;
}
}
}

View File

@ -0,0 +1,104 @@
package tree;
import lombok.Data;
import lombok.ToString;
import java.util.List;
import static tree.InorderTraversal.inorderTraversal1;
public class DeleteNode {
public static void main(String[] args) {
TreeNode root = new TreeNode(4);
TreeNode TreeNode2 = new TreeNode(2);
TreeNode TreeNode3 = new TreeNode(6);
TreeNode TreeNode4 = new TreeNode(1);
TreeNode TreeNode5 = new TreeNode(3);
TreeNode TreeNode6 = new TreeNode(5);
root.setLeft(TreeNode2);
root.setRight(TreeNode3);
TreeNode2.setLeft(TreeNode4);
TreeNode2.setRight(TreeNode5);
TreeNode3.setLeft(TreeNode6);
deleteNode(root,5);
List<Integer> integers = inorderTraversal1(root);
System.out.println(integers);
}
public static void deleteNode(TreeNode root,int value){
//删除的是有左右两个子树的节点
TreeNode p =root;
//记录当前节点的父节点
TreeNode pp = null;
//寻找到要删除的节点和他的父节点
while(p != null && p.val !=value){
pp=p;
if(p.val < value){
p=p.right;
}else if(p.val>value){
p=p.left;
}
}
//判断是根据那个条件出来的
if(p == null){
System.out.println("未找到要删除的节点的值...");
return;
}else if(p.val == value){
//p是要删除的节点,pp是他的父节点如果pp=null,删除的就是root
//判断删除的节点有几个子树
if (p.left !=null &&p.right !=null){
//左右子树都有,将找到右子树最小的节点将他的值付给p然后变成删除这个最小的数
TreeNode min=p.right;
//记录他的父节点
TreeNode flag=p;
while (min.left !=null){
flag=min;
min=min.left;
}
p.val=min.val;
p=min;
pp=flag;
}
//现在要删除的节点最多只有一个子树
TreeNode child =null;
if(p.left !=null){
child=p.left;
}else if (p.right !=null){
child=p.right;
}
if(pp ==null){
//要删除的是根节点
root=child;
}else if(pp.left == p)pp.left=child;
else pp.right=child;
}
}
}

View File

@ -0,0 +1,133 @@
package tree;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
public class InorderTraversal {
public static void main(String[] args) {
TreeNode root = new TreeNode(4);
TreeNode TreeNode2 = new TreeNode(2);
TreeNode TreeNode3 = new TreeNode(6);
TreeNode TreeNode4 = new TreeNode(1);
TreeNode TreeNode5 = new TreeNode(3);
TreeNode TreeNode6 = new TreeNode(5);
root.setLeft(TreeNode2);
root.setRight(TreeNode3);
TreeNode2.setLeft(TreeNode4);
TreeNode2.setRight(TreeNode5);
TreeNode3.setLeft(TreeNode6);
List<Integer> integers = inorderTraversal1(root);
System.out.println(integers);
}
public static List<TreeNode> list =new ArrayList<TreeNode>();
public static List<Integer> list2 =new ArrayList<Integer>();
/**
* 递归法中序遍历
* @param root
*/
public static void inorderTraversal(TreeNode root){
if(root == null){
return;
}
if(root.left !=null){
inorderTraversal(root.left);
}
list.add(root);
if(root.right !=null){
inorderTraversal(root.right);
}
}
/**
* 递归法原题中序遍历 => O(n)
* @param root
*/
public static List<Integer> inorderTraversal2(TreeNode root){
if(root == null){
return null;
}
if(root.left !=null){
inorderTraversal2(root.left);
}
list2.add(root.val);
if(root.right !=null){
inorderTraversal2(root.right);
}
return list2;
}
/**
* 非递归法中序遍历(题解第三种方法) ->空间复杂度 O(1)Morris 中序遍历
* 循环
* 寻找当前节点的左子树
* 如果左子树为空将当前节点加入list,将当前节点右移
* 如果不为空
* 寻找当前节点的左子树最右节点flag,判断flag的右子节点是否为空
* 如果为空当前节点左移设置flag的右子节点为当前节点
* 如果不为空说明已经遍历完当前节点的左子树,将flag的右子节点为置空将当前节点加入list,当前节点右移
* @param root
*/
public static List<Integer> inorderTraversal1(TreeNode root){
List<Integer> list1 =new ArrayList<Integer>();
while (root != null){
if(root.left ==null){
//如果左子树为空
list1.add(root.val);
root=root.right;
}else {
//如果左子树不为空
//记录左子树最右节点
TreeNode p=root.left;
//寻找flag
while (p.right !=null &&p.right != root){
p=p.right;
}
TreeNode flag=p;
//判断flag是根据什么条件出来的,是flag.right ==null还是p.right != root
if(flag.right == null){
//flag无右子节点第一次遍历
flag.right =root;
root=root.left;
}else if(flag.right == root){
//flag已经被加载过了,即当前节点的左子树已经被遍历完了
flag.right =null;
list1.add(root.val);
root=root.right;
}
}
}
return list1;
}
}

View File

@ -0,0 +1,34 @@
package tree;
import lombok.Data;
@Data
public class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode() {
}
TreeNode(int val) {
this.val = val;
}
TreeNode(int val, TreeNode left, TreeNode right) {
this.val = val;
this.left = left;
this.right = right;
}
@Override
public String toString() {
return "TreeNode{" +
"val=" + val +
", left=" + left +
", right=" + right +
'}';
}
}

33
guli_parent/.gitignore vendored Normal file
View File

@ -0,0 +1,33 @@
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/

Binary file not shown.

View File

@ -0,0 +1,2 @@
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar

View File

@ -0,0 +1,15 @@
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>common</artifactId>
<groupId>com.atguigu</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>common_utils</artifactId>
</project>

View File

@ -0,0 +1,85 @@
package com.atguigu.commonutils;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.HashMap;
import java.util.Map;
//TODO 同一结果返回类
/*
返回结果类型:
{
"success": 布尔, //响应是否成功
"code": 数字, //响应码
"message": 字符串, //返回消息
"data": HashMap //返回数据放在键值对中
}
*/
@Data
public class R {
@ApiModelProperty(value = "是否成功")
private Boolean success;
@ApiModelProperty(value = "返回码")
private Integer code;
@ApiModelProperty(value = "返回消息")
private String message;
@ApiModelProperty(value = "返回数据")
private Map<String, Object> data = new HashMap<String, Object>();
//构造方法私有
private R() {
}
//成功静态方法
public static R ok() {
R r = new R();
r.setSuccess(true);
r.setCode(ResultCode.SUCCESS);
r.setMessage("成功");
return r;
}
//失败静态方法
public static R error() {
R r = new R();
r.setSuccess(false);
r.setCode(ResultCode.ERROR);
r.setMessage("失败");
return r;
}
public R success(Boolean success) {
this.setSuccess(success);
return this;
}
public R message(String message) {
this.setMessage(message);
return this;
}
public R code(Integer code) {
this.setCode(code);
return this;
}
public R data(String key, Object value) {
this.data.put(key, value);
return this;
}
public R data(Map<String, Object> map) {
this.setData(map);
return this;
}
}

View File

@ -0,0 +1,15 @@
package com.atguigu.commonutils;
import org.omg.CORBA.PUBLIC_MEMBER;
import org.omg.PortableInterceptor.Interceptor;
//TODO 定义返回的状态码信息
public interface ResultCode {
public static Integer SUCCESS=20000; //操作成功
public static Integer ERROR=20001; //操作失败
}

View File

@ -0,0 +1,62 @@
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>guli_parent</artifactId>
<groupId>com.atguigu</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>common</artifactId>
<packaging>pom</packaging>
<modules>
<module>service_base</module>
<module>common_utils</module>
</modules>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<scope>provided</scope>
</dependency>
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<scope>provided</scope>
</dependency>
<!--lombok用来简化实体类需要安装lombok插件-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
<!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<scope>provided</scope>
</dependency>
<!-- redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- spring2.X集成redis所需common-pool2-->
<!-- <dependency>-->
<!-- <groupId>org.apache.commons</groupId>-->
<!-- <artifactId>commons-pool2</artifactId>-->
<!-- <version>2.6.0</version>-->
<!-- </dependency>-->
</dependencies>
</project>

View File

@ -0,0 +1,24 @@
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>common</artifactId>
<groupId>com.atguigu</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>service_base</artifactId>
<!-- 由于要使用R对象,引入common包-->
<dependencies>
<dependency>
<groupId>com.atguigu</groupId>
<artifactId>common_utils</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,42 @@
package com.atguigu.servicebase;
import com.google.common.base.Predicates;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration //配置类
@EnableSwagger2 //swagger注解
public class SwaggerConfig {
@Bean //配置swagger插件
public Docket webApiConfig(){
return new Docket(DocumentationType.SWAGGER_2)
.groupName("webApi")
.apiInfo(webApiInfo())
.select()
.paths(Predicates.not(PathSelectors.regex("/admin/.*")))
.paths(Predicates.not(PathSelectors.regex("/error.*")))
.build();
}
private ApiInfo webApiInfo(){
return new ApiInfoBuilder()
.title("网站-课程中心API文档")
.description("本文档描述了课程中心微服务接口定义")
.version("1.0")
.contact(new Contact("Ding", "http://atguigu.com",
"55317332@qq.com"))
.build();
}
}

View File

@ -0,0 +1,51 @@
package com.atguigu.servicebase.exceptionhandler;
import com.atguigu.commonutils.R;
import com.atguigu.servicebase.utils.ExceptionUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
//统一异常处理
@ControllerAdvice
@Slf4j //使得错误输出可以写到文件中去
public class GlobalExceptionHandler {
//指定出现了什么异常执行这个方法
@ExceptionHandler(Exception.class)
@ResponseBody //为了能够返回数据
public R error(Exception e){
e.printStackTrace();
return R.error().message("执行了全局异常处理");
}
//特定异常
@ExceptionHandler(ArithmeticException.class)
@ResponseBody //为了能够返回数据
public R error(ArithmeticException e){
e.printStackTrace();
return R.error().message("执行了ArithmeticException异常处理");
}
//自定义异常处理 ,但是这种方式没办法自动抛出,需要手动抛出
@ExceptionHandler(GuliException.class)
@ResponseBody //为了能够返回数据
public R error(GuliException e){
//将异常信息输出到文件中去
log.error(ExceptionUtil.getMessage(e));
e.printStackTrace();
return R.error().code(e.getCode()).message(e.getMsg());
}
}

View File

@ -0,0 +1,18 @@
package com.atguigu.servicebase.exceptionhandler;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class GuliException extends RuntimeException {
private Integer code;//状态码
private String msg; //异常信息
}

View File

@ -0,0 +1,26 @@
package com.atguigu.servicebase.handler;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 默认填充类设置添加和修改的时候的方法
*/
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
//传的是属性名称,不是字段名称
this.setFieldValByName("gmtCreate",new Date(),metaObject);
this.setFieldValByName("gmtModified",new Date(),metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
this.setFieldValByName("gmtModified",new Date(),metaObject);
}
}

View File

@ -0,0 +1,33 @@
package com.atguigu.servicebase.utils;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
public class ExceptionUtil {
public static String getMessage(Exception e) {
StringWriter sw = null;
PrintWriter pw = null;
try {
sw = new StringWriter();
pw = new PrintWriter(sw);
// 将出错的栈信息输出到printWriter中
e.printStackTrace(pw);
pw.flush();
sw.flush();
} finally {
if (sw != null) {
try {
sw.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
if (pw != null) {
pw.close();
}
}
return sw.toString();
}
}

316
guli_parent/mvnw vendored Normal file
View File

@ -0,0 +1,316 @@
#!/bin/sh
# ----------------------------------------------------------------------------
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# Maven Start Up Batch script
#
# Required ENV vars:
# ------------------
# JAVA_HOME - location of a JDK home dir
#
# Optional ENV vars
# -----------------
# M2_HOME - location of maven2's installed home dir
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
# e.g. to debug Maven itself, use
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
# ----------------------------------------------------------------------------
if [ -z "$MAVEN_SKIP_RC" ] ; then
if [ -f /usr/local/etc/mavenrc ] ; then
. /usr/local/etc/mavenrc
fi
if [ -f /etc/mavenrc ] ; then
. /etc/mavenrc
fi
if [ -f "$HOME/.mavenrc" ] ; then
. "$HOME/.mavenrc"
fi
fi
# OS specific support. $var _must_ be set to either true or false.
cygwin=false;
darwin=false;
mingw=false
case "`uname`" in
CYGWIN*) cygwin=true ;;
MINGW*) mingw=true;;
Darwin*) darwin=true
# Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html
if [ -z "$JAVA_HOME" ]; then
if [ -x "/usr/libexec/java_home" ]; then
export JAVA_HOME="`/usr/libexec/java_home`"
else
export JAVA_HOME="/Library/Java/Home"
fi
fi
;;
esac
if [ -z "$JAVA_HOME" ] ; then
if [ -r /etc/gentoo-release ] ; then
JAVA_HOME=`java-config --jre-home`
fi
fi
if [ -z "$M2_HOME" ] ; then
## resolve links - $0 may be a link to maven's home
PRG="$0"
# need this for relative symlinks
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG="`dirname "$PRG"`/$link"
fi
done
saveddir=`pwd`
M2_HOME=`dirname "$PRG"`/..
# make it fully qualified
M2_HOME=`cd "$M2_HOME" && pwd`
cd "$saveddir"
# echo Using m2 at $M2_HOME
fi
# For Cygwin, ensure paths are in UNIX format before anything is touched
if $cygwin ; then
[ -n "$M2_HOME" ] &&
M2_HOME=`cygpath --unix "$M2_HOME"`
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
[ -n "$CLASSPATH" ] &&
CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
fi
# For Mingw, ensure paths are in UNIX format before anything is touched
if $mingw ; then
[ -n "$M2_HOME" ] &&
M2_HOME="`(cd "$M2_HOME"; pwd)`"
[ -n "$JAVA_HOME" ] &&
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
fi
if [ -z "$JAVA_HOME" ]; then
javaExecutable="`which javac`"
if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
# readlink(1) is not available as standard on Solaris 10.
readLink=`which readlink`
if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
if $darwin ; then
javaHome="`dirname \"$javaExecutable\"`"
javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
else
javaExecutable="`readlink -f \"$javaExecutable\"`"
fi
javaHome="`dirname \"$javaExecutable\"`"
javaHome=`expr "$javaHome" : '\(.*\)/bin'`
JAVA_HOME="$javaHome"
export JAVA_HOME
fi
fi
fi
if [ -z "$JAVACMD" ] ; then
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
else
JAVACMD="`\\unset -f command; \\command -v java`"
fi
fi
if [ ! -x "$JAVACMD" ] ; then
echo "Error: JAVA_HOME is not defined correctly." >&2
echo " We cannot execute $JAVACMD" >&2
exit 1
fi
if [ -z "$JAVA_HOME" ] ; then
echo "Warning: JAVA_HOME environment variable is not set."
fi
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
# traverses directory structure from process work directory to filesystem root
# first directory with .mvn subdirectory is considered project base directory
find_maven_basedir() {
if [ -z "$1" ]
then
echo "Path not specified to find_maven_basedir"
return 1
fi
basedir="$1"
wdir="$1"
while [ "$wdir" != '/' ] ; do
if [ -d "$wdir"/.mvn ] ; then
basedir=$wdir
break
fi
# workaround for JBEAP-8937 (on Solaris 10/Sparc)
if [ -d "${wdir}" ]; then
wdir=`cd "$wdir/.."; pwd`
fi
# end of workaround
done
echo "${basedir}"
}
# concatenates all lines of a file
concat_lines() {
if [ -f "$1" ]; then
echo "$(tr -s '\n' ' ' < "$1")"
fi
}
BASE_DIR=`find_maven_basedir "$(pwd)"`
if [ -z "$BASE_DIR" ]; then
exit 1;
fi
##########################################################################################
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
# This allows using the maven wrapper in projects that prohibit checking in binary data.
##########################################################################################
if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found .mvn/wrapper/maven-wrapper.jar"
fi
else
if [ "$MVNW_VERBOSE" = true ]; then
echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
fi
if [ -n "$MVNW_REPOURL" ]; then
jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
else
jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
fi
while IFS="=" read key value; do
case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
esac
done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
if [ "$MVNW_VERBOSE" = true ]; then
echo "Downloading from: $jarUrl"
fi
wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
if $cygwin; then
wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
fi
if command -v wget > /dev/null; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found wget ... using wget"
fi
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
else
wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath"
fi
elif command -v curl > /dev/null; then
if [ "$MVNW_VERBOSE" = true ]; then
echo "Found curl ... using curl"
fi
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
curl -o "$wrapperJarPath" "$jarUrl" -f
else
curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
fi
else
if [ "$MVNW_VERBOSE" = true ]; then
echo "Falling back to using Java to download"
fi
javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
# For Cygwin, switch paths to Windows format before running javac
if $cygwin; then
javaClass=`cygpath --path --windows "$javaClass"`
fi
if [ -e "$javaClass" ]; then
if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
if [ "$MVNW_VERBOSE" = true ]; then
echo " - Compiling MavenWrapperDownloader.java ..."
fi
# Compiling the Java class
("$JAVA_HOME/bin/javac" "$javaClass")
fi
if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
# Running the downloader
if [ "$MVNW_VERBOSE" = true ]; then
echo " - Running MavenWrapperDownloader.java ..."
fi
("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
fi
fi
fi
fi
##########################################################################################
# End of extension
##########################################################################################
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
if [ "$MVNW_VERBOSE" = true ]; then
echo $MAVEN_PROJECTBASEDIR
fi
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
[ -n "$M2_HOME" ] &&
M2_HOME=`cygpath --path --windows "$M2_HOME"`
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
[ -n "$CLASSPATH" ] &&
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
[ -n "$MAVEN_PROJECTBASEDIR" ] &&
MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
fi
# Provide a "standardized" way to retrieve the CLI args that will
# work with both Windows and non-Windows executions.
MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
export MAVEN_CMD_LINE_ARGS
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
exec "$JAVACMD" \
$MAVEN_OPTS \
$MAVEN_DEBUG_OPTS \
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
"-Dmaven.home=${M2_HOME}" \
"-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"

188
guli_parent/mvnw.cmd vendored Normal file
View File

@ -0,0 +1,188 @@
@REM ----------------------------------------------------------------------------
@REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements. See the NOTICE file
@REM distributed with this work for additional information
@REM regarding copyright ownership. The ASF licenses this file
@REM to you under the Apache License, Version 2.0 (the
@REM "License"); you may not use this file except in compliance
@REM with the License. You may obtain a copy of the License at
@REM
@REM https://www.apache.org/licenses/LICENSE-2.0
@REM
@REM Unless required by applicable law or agreed to in writing,
@REM software distributed under the License is distributed on an
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@REM KIND, either express or implied. See the License for the
@REM specific language governing permissions and limitations
@REM under the License.
@REM ----------------------------------------------------------------------------
@REM ----------------------------------------------------------------------------
@REM Maven Start Up Batch script
@REM
@REM Required ENV vars:
@REM JAVA_HOME - location of a JDK home dir
@REM
@REM Optional ENV vars
@REM M2_HOME - location of maven2's installed home dir
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
@REM e.g. to debug Maven itself, use
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
@REM ----------------------------------------------------------------------------
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
@echo off
@REM set title of command window
title %0
@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO%
@REM set %HOME% to equivalent of $HOME
if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
@REM Execute a user defined script before this one
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
@REM check for pre script, once with legacy .bat ending and once with .cmd ending
if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %*
if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %*
:skipRcPre
@setlocal
set ERROR_CODE=0
@REM To isolate internal variables from possible post scripts, we use another setlocal
@setlocal
@REM ==== START VALIDATION ====
if not "%JAVA_HOME%" == "" goto OkJHome
echo.
echo Error: JAVA_HOME not found in your environment. >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
:OkJHome
if exist "%JAVA_HOME%\bin\java.exe" goto init
echo.
echo Error: JAVA_HOME is set to an invalid directory. >&2
echo JAVA_HOME = "%JAVA_HOME%" >&2
echo Please set the JAVA_HOME variable in your environment to match the >&2
echo location of your Java installation. >&2
echo.
goto error
@REM ==== END VALIDATION ====
:init
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
@REM Fallback to current working directory if not found.
set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
set EXEC_DIR=%CD%
set WDIR=%EXEC_DIR%
:findBaseDir
IF EXIST "%WDIR%"\.mvn goto baseDirFound
cd ..
IF "%WDIR%"=="%CD%" goto baseDirNotFound
set WDIR=%CD%
goto findBaseDir
:baseDirFound
set MAVEN_PROJECTBASEDIR=%WDIR%
cd "%EXEC_DIR%"
goto endDetectBaseDir
:baseDirNotFound
set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
cd "%EXEC_DIR%"
:endDetectBaseDir
IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
@setlocal EnableExtensions EnableDelayedExpansion
for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
:endReadAdditionalConfig
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
)
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
if exist %WRAPPER_JAR% (
if "%MVNW_VERBOSE%" == "true" (
echo Found %WRAPPER_JAR%
)
) else (
if not "%MVNW_REPOURL%" == "" (
SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar"
)
if "%MVNW_VERBOSE%" == "true" (
echo Couldn't find %WRAPPER_JAR%, downloading it ...
echo Downloading from: %DOWNLOAD_URL%
)
powershell -Command "&{"^
"$webclient = new-object System.Net.WebClient;"^
"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
"}"^
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
"}"
if "%MVNW_VERBOSE%" == "true" (
echo Finished downloading %WRAPPER_JAR%
)
)
@REM End of extension
@REM Provide a "standardized" way to retrieve the CLI args that will
@REM work with both Windows and non-Windows executions.
set MAVEN_CMD_LINE_ARGS=%*
%MAVEN_JAVA_EXE% ^
%JVM_CONFIG_MAVEN_PROPS% ^
%MAVEN_OPTS% ^
%MAVEN_DEBUG_OPTS% ^
-classpath %WRAPPER_JAR% ^
"-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^
%WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
if ERRORLEVEL 1 goto error
goto end
:error
set ERROR_CODE=1
:end
@endlocal & set ERROR_CODE=%ERROR_CODE%
if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost
@REM check for post script, once with legacy .bat ending and once with .cmd ending
if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat"
if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd"
:skipRcPost
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
if "%MAVEN_BATCH_PAUSE%"=="on" pause
if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE%
cmd /C exit /B %ERROR_CODE%

204
guli_parent/pom.xml Normal file
View File

@ -0,0 +1,204 @@
<?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>
<modules>
<module>service</module>
<module>common</module>
</modules>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.atguigu</groupId>
<artifactId>guli_parent</artifactId>
<packaging>pom</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>guli_parent</name>
<description>Demo project for Spring Boot</description>
<!--父工程仅做版本管理-->
<properties>
<java.version>1.8</java.version>
<guli.version>0.0.1-SNAPSHOT</guli.version>
<mybatis-plus.version>3.0.5</mybatis-plus.version>
<velocity.version>2.0</velocity.version>
<swagger.version>2.7.0</swagger.version>
<aliyun.oss.version>2.8.3</aliyun.oss.version>
<jodatime.version>2.10.1</jodatime.version>
<poi.version>3.17</poi.version>
<commons-fileupload.version>1.3.1</commons-fileupload.version>
<commons-io.version>2.6</commons-io.version>
<httpclient.version>4.5.1</httpclient.version>
<jwt.version>0.7.0</jwt.version>
<aliyun-java-sdk-core.version>4.3.3</aliyun-java-sdk-core.version>
<aliyun-sdk-oss.version>3.1.0</aliyun-sdk-oss.version>
<aliyun-java-sdk-vod.version>2.15.2</aliyun-java-sdk-vod.version>
<aliyun-java-vod-upload.version>1.4.11</aliyun-java-vod-upload.version>
<aliyun-sdk-vod-upload.version>1.4.11</aliyun-sdk-vod-upload.version>
<fastjson.version>1.2.28</fastjson.version>
<gson.version>2.8.2</gson.version>
<json.version>20170516</json.version>
<commons-dbutils.version>1.7</commons-dbutils.version>
<canal.client.version>1.1.0</canal.client.version>
<docker.image.prefix>zx</docker.image.prefix>
<cloud-alibaba.version>0.2.2.RELEASE</cloud-alibaba.version>
</properties>
<dependencyManagement>
<dependencies>
<!--Spring Cloud-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--mybatis-plus 持久层-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>${velocity.version}</version>
</dependency>
<!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger.version}</version>
</dependency>
<!--swagger ui-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger.version}</version>
</dependency>
<!--aliyunOSS-->
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>${aliyun.oss.version}</version>
</dependency>
<!--日期时间工具-->
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>${jodatime.version}</version>
</dependency>
<!--xls-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>${poi.version}</version>
</dependency>
<!--xlsx-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
</dependency>
<!--文件上传-->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>${commons-fileupload.version}</version>
</dependency>
<!--commons-io-->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons-io.version}</version>
</dependency>
<!--httpclient-->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${httpclient.version}</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>${gson.version}</version>
</dependency>
<!-- JWT -->
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>${jwt.version}</version>
</dependency>
<!--aliyun-->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>${aliyun-java-sdk-core.version}</version>
</dependency>
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>${aliyun-sdk-oss.version}</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-vod</artifactId>
<version>${aliyun-java-sdk-vod.version}</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-vod-upload</artifactId>
<version>${aliyun-java-vod-upload.version}</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-sdk-vod-upload</artifactId>
<version>${aliyun-sdk-vod-upload.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>${json.version}</version>
</dependency>
<dependency>
<groupId>commons-dbutils</groupId>
<artifactId>commons-dbutils</artifactId>
<version>${commons-dbutils.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba.otter</groupId>
<artifactId>canal.client</artifactId>
<version>${canal.client.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>

141
guli_parent/service/pom.xml Normal file
View File

@ -0,0 +1,141 @@
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>guli_parent</artifactId>
<groupId>com.atguigu</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>service</artifactId>
<packaging>pom</packaging>
<modules>
<module>service_edu</module>
<module>service_oss</module>
<module>service_vod</module>
</modules>
<dependencies>
<!-- <dependency>-->
<!-- <groupId>org.springframework.cloud</groupId>-->
<!-- <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>-->
<!-- </dependency>-->
<!--hystrix依赖主要是用 @HystrixCommand -->
<!-- <dependency>-->
<!-- <groupId>org.springframework.cloud</groupId>-->
<!-- <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>-->
<!-- </dependency>-->
<!--服务注册-->
<!-- <dependency>-->
<!-- <groupId>org.springframework.cloud</groupId>-->
<!-- <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>-->
<!-- </dependency>-->
<!--服务调用-->
<!-- <dependency>-->
<!-- <groupId>org.springframework.cloud</groupId>-->
<!-- <artifactId>spring-cloud-starter-openfeign</artifactId>-->
<!-- </dependency>-->
<!-- 引入自己配置的swagger依赖-->
<dependency>
<groupId>com.atguigu</groupId>
<artifactId>service_base</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!--service_base中已经引入了common_utils类 -->
<!-- &lt;!&ndash;引入common_utils类&ndash;&gt;-->
<!-- <dependency>-->
<!-- <groupId>com.atguigu</groupId>-->
<!-- <artifactId>common_utils</artifactId>-->
<!-- <version>0.0.1-SNAPSHOT</version>-->
<!-- </dependency>-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<!-- <version>5.1.47</version>-->
</dependency>
<!-- velocity 模板引擎, Mybatis Plus 代码生成器需要 -->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
</dependency>
<!--swagger-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
<!--lombok用来简化实体类需要安装lombok插件-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!--xls-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
</dependency>
<!--httpclient-->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
<!--commons-io-->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
</dependency>
<!--gson-->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
<!-- 项目打包时会将java目录中的*.xml文件也进行打包 -->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
</project>

View File

@ -0,0 +1 @@
2022-04-21 21:01:02.160 [http-nio-8001-exec-7] ERROR c.a.s.exceptionhandler.GlobalExceptionHandler - null

View File

@ -0,0 +1,47 @@
2022-04-21 20:57:35.548 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 5196 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-21 20:57:35.553 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-21 20:57:36.508 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-21 20:57:36.510 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-21 20:57:36.533 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 7ms. Found 0 repository interfaces.
2022-04-21 20:57:36.764 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-21 20:57:36.938 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-21 20:57:36.943 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-21 20:57:36.943 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-21 20:57:36.944 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-21 20:57:37.019 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-21 20:57:37.019 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 1353 ms
2022-04-21 20:57:37.161 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-21 20:57:37.324 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-21 20:57:37.654 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-21 20:57:37.727 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-21 20:57:38.052 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-21 20:57:38.061 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-21 20:57:38.081 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-21 20:57:38.219 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-21 20:57:38.233 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-21 20:57:38.237 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 3.206 seconds (JVM running for 3.756)
2022-04-21 21:00:50.190 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 13652 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-21 21:00:50.199 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-21 21:00:52.508 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-21 21:00:52.516 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-21 21:00:52.568 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 20ms. Found 0 repository interfaces.
2022-04-21 21:00:53.129 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-21 21:00:53.618 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-21 21:00:53.629 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-21 21:00:53.630 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-21 21:00:53.630 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-21 21:00:53.729 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-21 21:00:53.730 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3274 ms
2022-04-21 21:00:54.055 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-21 21:00:54.422 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-21 21:00:56.417 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-21 21:00:56.889 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-21 21:00:57.741 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-21 21:00:57.754 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-21 21:00:57.793 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-21 21:00:58.213 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-21 21:00:58.241 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-21 21:00:58.252 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 9.336 seconds (JVM running for 10.483)
2022-04-21 21:00:58.352 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-21 21:00:58.353 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-21 21:00:58.359 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 6 ms

View File

@ -0,0 +1,200 @@
2022-04-22 16:11:06.739 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 20396 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-22 16:11:06.837 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-22 16:11:13.525 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-22 16:11:13.537 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-22 16:11:13.685 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 58ms. Found 0 repository interfaces.
2022-04-22 16:11:15.522 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-22 16:11:16.719 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-22 16:11:16.754 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-22 16:11:16.756 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-22 16:11:16.757 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-22 16:11:17.087 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-22 16:11:17.087 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 9841 ms
2022-04-22 16:11:17.840 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-22 16:11:18.575 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-22 16:11:21.470 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-22 16:11:22.045 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-22 16:11:25.314 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-22 16:11:25.428 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-22 16:11:25.719 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-22 16:11:27.234 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-22 16:11:27.362 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-22 16:11:27.381 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 24.506 seconds (JVM running for 29.474)
2022-04-22 16:14:26.591 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-22 16:14:26.593 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-22 16:14:26.628 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 34 ms
2022-04-22 16:22:20.475 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 8784 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-22 16:22:20.550 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-22 16:22:27.173 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-22 16:22:27.206 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-22 16:22:27.436 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 121ms. Found 0 repository interfaces.
2022-04-22 16:22:28.692 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-22 16:22:29.427 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-22 16:22:29.459 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-22 16:22:29.462 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-22 16:22:29.465 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-22 16:22:29.780 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-22 16:22:29.780 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 8769 ms
2022-04-22 16:22:30.430 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-22 16:22:30.973 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-22 16:22:32.463 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-22 16:22:32.862 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-22 16:22:34.567 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-22 16:22:34.633 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-22 16:22:34.741 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-22 16:22:35.434 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-22 16:22:35.515 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-22 16:22:35.523 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 18.867 seconds (JVM running for 24.372)
2022-04-22 16:22:41.283 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-22 16:22:41.284 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-22 16:22:41.308 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 24 ms
2022-04-22 17:22:51.944 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 15372 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-22 17:22:51.974 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-22 17:22:58.495 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-22 17:22:58.520 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-22 17:22:58.628 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 35ms. Found 0 repository interfaces.
2022-04-22 17:22:59.987 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-22 17:23:01.087 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-22 17:23:01.145 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-22 17:23:01.153 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-22 17:23:01.157 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-22 17:23:01.519 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-22 17:23:01.520 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 9275 ms
2022-04-22 17:23:02.694 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-22 17:23:03.530 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-22 17:23:06.183 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-22 17:23:06.582 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-22 17:23:08.306 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-22 17:23:08.379 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-22 17:23:08.504 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-22 17:23:09.102 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-22 17:23:09.216 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-22 17:23:09.229 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 21.399 seconds (JVM running for 29.843)
2022-04-22 17:23:20.928 [http-nio-8001-exec-2] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-22 17:23:20.932 [http-nio-8001-exec-2] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-22 17:23:20.957 [http-nio-8001-exec-2] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 22 ms
2022-04-22 19:50:55.720 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 17936 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-22 19:50:55.766 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-22 19:51:01.696 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-22 19:51:01.708 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-22 19:51:01.795 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 28ms. Found 0 repository interfaces.
2022-04-22 19:51:03.105 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-22 19:51:04.347 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-22 19:51:04.396 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-22 19:51:04.399 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-22 19:51:04.400 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-22 19:51:04.731 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-22 19:51:04.732 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 8476 ms
2022-04-22 19:51:05.201 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-22 19:51:05.761 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-22 19:51:08.772 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-22 19:51:09.359 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-22 19:51:12.004 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-22 19:51:12.098 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-22 19:51:12.325 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-22 19:51:13.449 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-22 19:51:13.553 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-22 19:51:13.572 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 20.848 seconds (JVM running for 25.253)
2022-04-22 19:51:45.842 [http-nio-8001-exec-2] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-22 19:51:45.844 [http-nio-8001-exec-2] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-22 19:51:45.870 [http-nio-8001-exec-2] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 26 ms
2022-04-22 21:02:14.650 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 19980 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-22 21:02:14.668 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-22 21:02:21.283 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-22 21:02:21.294 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-22 21:02:21.516 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 105ms. Found 0 repository interfaces.
2022-04-22 21:02:23.671 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-22 21:02:25.184 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-22 21:02:25.241 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-22 21:02:25.245 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-22 21:02:25.245 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-22 21:02:25.610 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-22 21:02:25.611 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 10704 ms
2022-04-22 21:02:26.969 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-22 21:02:27.766 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-22 21:02:30.335 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-22 21:02:30.884 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-22 21:02:32.685 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-22 21:02:32.733 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-22 21:02:32.879 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-22 21:02:33.548 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-22 21:02:33.611 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-22 21:02:33.618 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 21.724 seconds (JVM running for 26.735)
2022-04-22 21:03:27.873 [http-nio-8001-exec-3] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-22 21:03:27.878 [http-nio-8001-exec-3] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-22 21:03:27.894 [http-nio-8001-exec-3] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 15 ms
2022-04-22 21:09:29.287 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 11768 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-22 21:09:29.295 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-22 21:09:35.789 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-22 21:09:35.801 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-22 21:09:35.863 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 18ms. Found 0 repository interfaces.
2022-04-22 21:09:36.783 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-22 21:09:37.727 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-22 21:09:37.750 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-22 21:09:37.751 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-22 21:09:37.752 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-22 21:09:37.997 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-22 21:09:37.997 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 8441 ms
2022-04-22 21:09:38.591 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-22 21:09:39.120 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-22 21:09:40.639 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-22 21:09:41.132 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-22 21:09:42.654 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-22 21:09:42.715 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-22 21:09:42.840 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-22 21:09:43.505 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-22 21:09:43.575 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-22 21:09:43.588 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 16.638 seconds (JVM running for 19.034)
2022-04-22 21:09:52.962 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-22 21:09:52.965 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-22 21:09:52.998 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 31 ms
2022-04-22 21:28:43.865 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 7476 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-22 21:28:43.878 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-22 21:28:47.458 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-22 21:28:47.469 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-22 21:28:47.569 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 35ms. Found 0 repository interfaces.
2022-04-22 21:28:48.765 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-22 21:28:49.714 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-22 21:28:49.754 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-22 21:28:49.758 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-22 21:28:49.759 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-22 21:28:49.990 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-22 21:28:49.996 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 5798 ms
2022-04-22 21:28:50.621 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-22 21:28:51.164 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-22 21:28:52.918 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-22 21:28:53.533 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-22 21:28:55.146 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-22 21:28:55.204 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-22 21:28:55.335 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-22 21:28:55.994 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-22 21:28:56.069 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-22 21:28:56.097 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 14.049 seconds (JVM running for 16.394)
2022-04-22 21:29:35.486 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-22 21:29:35.487 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-22 21:29:35.567 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 79 ms
2022-04-22 21:32:40.555 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 4320 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-22 21:32:40.563 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-22 21:32:44.431 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-22 21:32:44.447 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-22 21:32:44.596 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 39ms. Found 0 repository interfaces.
2022-04-22 21:32:45.933 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-22 21:32:47.021 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-22 21:32:47.040 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-22 21:32:47.044 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-22 21:32:47.047 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-22 21:32:47.328 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-22 21:32:47.329 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 6500 ms
2022-04-22 21:32:48.019 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-22 21:32:48.994 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-22 21:32:50.604 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-22 21:32:50.959 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-22 21:32:52.480 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-22 21:32:52.547 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-22 21:32:52.687 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-22 21:32:53.849 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-22 21:32:54.051 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-22 21:32:54.069 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 15.9 seconds (JVM running for 18.414)
2022-04-22 21:32:54.397 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-22 21:32:54.398 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-22 21:32:54.494 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 94 ms

View File

@ -0,0 +1,444 @@
2022-04-24 11:11:43.893 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 20472 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-24 11:11:43.920 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-24 11:11:50.817 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-24 11:11:50.831 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-24 11:11:50.983 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 40ms. Found 0 repository interfaces.
2022-04-24 11:11:52.407 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-24 11:11:53.612 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-24 11:11:53.654 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-24 11:11:53.658 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-24 11:11:53.661 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-24 11:11:54.226 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-24 11:11:54.227 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 9958 ms
2022-04-24 11:11:55.334 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-24 11:11:56.295 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-24 11:11:58.593 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-24 11:11:59.244 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-24 11:12:01.643 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-24 11:12:01.717 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-24 11:12:01.958 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-24 11:12:02.955 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-24 11:12:03.046 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-24 11:12:03.059 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 23.702 seconds (JVM running for 28.285)
2022-04-24 11:12:14.122 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-24 11:12:14.128 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-24 11:12:14.162 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 32 ms
2022-04-24 15:09:04.077 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 1292 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-24 15:09:04.097 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-24 15:09:06.194 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-24 15:09:06.202 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-24 15:09:06.245 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 25ms. Found 0 repository interfaces.
2022-04-24 15:09:07.347 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-24 15:09:07.937 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-24 15:09:07.951 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-24 15:09:07.956 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-24 15:09:07.958 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-24 15:09:08.100 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-24 15:09:08.103 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3697 ms
2022-04-24 15:09:08.402 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-24 15:09:08.844 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-24 15:09:09.960 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-24 15:09:10.481 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-24 15:09:12.056 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-24 15:09:12.134 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-24 15:09:12.412 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-24 15:09:13.680 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-24 15:09:13.804 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-24 15:09:13.820 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 11.145 seconds (JVM running for 12.285)
2022-04-24 15:10:39.846 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-24 15:10:39.846 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-24 15:10:39.857 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 11 ms
2022-04-24 17:40:58.128 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 10652 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-24 17:40:58.166 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-24 17:41:01.970 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-24 17:41:01.984 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-24 17:41:02.074 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 49ms. Found 0 repository interfaces.
2022-04-24 17:41:02.950 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-24 17:41:03.407 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-24 17:41:03.414 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-24 17:41:03.415 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-24 17:41:03.415 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-24 17:41:03.556 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-24 17:41:03.557 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 4739 ms
2022-04-24 17:41:03.879 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-24 17:41:04.161 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-24 17:41:05.031 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-24 17:41:05.209 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-24 17:41:06.066 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-24 17:41:06.087 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-24 17:41:06.153 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-24 17:41:06.622 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-24 17:41:06.674 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-24 17:41:06.676 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 11.775 seconds (JVM running for 14.112)
2022-04-24 17:42:36.246 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-24 17:42:36.246 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-24 17:42:36.250 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 4 ms
2022-04-24 18:14:30.676 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 13252 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-24 18:14:30.709 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-24 18:14:32.764 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-24 18:14:32.767 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-24 18:14:32.784 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 8ms. Found 0 repository interfaces.
2022-04-24 18:14:33.006 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-24 18:14:33.169 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-24 18:14:33.175 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-24 18:14:33.176 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-24 18:14:33.176 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-24 18:14:33.236 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-24 18:14:33.236 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 2205 ms
2022-04-24 18:14:33.355 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-24 18:14:33.468 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-24 18:14:33.795 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-24 18:14:33.862 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-24 18:14:34.160 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-24 18:14:34.170 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-24 18:14:34.205 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-24 18:14:34.329 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-24 18:14:34.343 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-24 18:14:34.345 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 5.978 seconds (JVM running for 7.868)
2022-04-24 18:15:10.211 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-24 18:15:10.214 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-24 18:15:10.257 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 42 ms
2022-04-24 18:16:23.862 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 10992 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-24 18:16:23.881 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-24 18:16:26.215 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-24 18:16:26.218 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-24 18:16:26.284 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 25ms. Found 0 repository interfaces.
2022-04-24 18:16:26.749 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-24 18:16:27.155 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-24 18:16:27.161 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-24 18:16:27.162 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-24 18:16:27.162 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-24 18:16:27.320 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-24 18:16:27.322 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3293 ms
2022-04-24 18:16:27.749 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-24 18:16:27.987 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-24 18:16:28.807 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-24 18:16:28.973 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-24 18:16:29.757 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-24 18:16:29.799 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-24 18:16:29.863 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-24 18:16:30.225 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-24 18:16:30.281 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-24 18:16:30.283 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 8.212 seconds (JVM running for 9.61)
2022-04-24 18:17:04.765 [http-nio-8001-exec-3] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-24 18:17:04.766 [http-nio-8001-exec-3] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-24 18:17:04.814 [http-nio-8001-exec-3] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 46 ms
2022-04-24 18:19:36.859 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 7632 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-24 18:19:36.877 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-24 18:19:39.709 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-24 18:19:39.723 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-24 18:19:39.802 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 35ms. Found 0 repository interfaces.
2022-04-24 18:19:40.476 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-24 18:19:40.898 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-24 18:19:40.927 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-24 18:19:40.928 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-24 18:19:40.928 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-24 18:19:41.065 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-24 18:19:41.065 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3906 ms
2022-04-24 18:19:41.442 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-24 18:19:41.746 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-24 18:19:42.663 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-24 18:19:42.865 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-24 18:19:43.711 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-24 18:19:43.741 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-24 18:19:43.802 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-24 18:19:44.249 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-24 18:19:44.286 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-24 18:19:44.293 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 9.147 seconds (JVM running for 11.554)
2022-04-24 18:21:11.262 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-24 18:21:11.263 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-24 18:21:11.285 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 22 ms
2022-04-24 18:23:32.309 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 12460 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-24 18:23:32.312 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-24 18:23:33.221 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-24 18:23:33.224 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-24 18:23:33.254 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12ms. Found 0 repository interfaces.
2022-04-24 18:23:33.479 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-24 18:23:33.638 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-24 18:23:33.646 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-24 18:23:33.646 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-24 18:23:33.647 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-24 18:23:33.709 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-24 18:23:33.709 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 1298 ms
2022-04-24 18:23:33.835 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-24 18:23:33.963 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-24 18:23:34.291 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-24 18:23:34.362 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-24 18:23:34.654 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-24 18:23:34.664 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-24 18:23:34.688 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-24 18:23:34.809 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-24 18:23:34.823 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-24 18:23:34.825 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 2.928 seconds (JVM running for 3.386)
2022-04-24 18:24:23.672 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 19008 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-24 18:24:23.675 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-24 18:24:24.343 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-24 18:24:24.345 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-24 18:24:24.361 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 6ms. Found 0 repository interfaces.
2022-04-24 18:24:24.545 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-24 18:24:24.702 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-24 18:24:24.708 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-24 18:24:24.708 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-24 18:24:24.708 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-24 18:24:24.769 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-24 18:24:24.769 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 1039 ms
2022-04-24 18:24:24.897 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-24 18:24:25.007 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-24 18:24:25.348 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-24 18:24:25.422 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-24 18:24:25.726 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-24 18:24:25.737 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-24 18:24:25.760 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-24 18:24:25.894 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-24 18:24:25.950 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-24 18:24:25.953 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 2.791 seconds (JVM running for 3.527)
2022-04-24 18:24:41.094 [http-nio-8001-exec-3] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-24 18:24:41.095 [http-nio-8001-exec-3] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-24 18:24:41.101 [http-nio-8001-exec-3] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 6 ms
2022-04-24 18:31:38.469 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 8608 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-24 18:31:38.480 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-24 18:31:41.826 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-24 18:31:41.837 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-24 18:31:41.923 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 37ms. Found 0 repository interfaces.
2022-04-24 18:31:42.902 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-24 18:31:43.572 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-24 18:31:43.598 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-24 18:31:43.601 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-24 18:31:43.602 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-24 18:31:43.877 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-24 18:31:43.878 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 4958 ms
2022-04-24 18:31:44.470 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-24 18:31:45.124 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-24 18:31:46.753 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-24 18:31:47.141 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-24 18:31:48.402 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-24 18:31:48.449 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-24 18:31:48.544 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-24 18:31:49.112 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-24 18:31:49.213 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-24 18:31:49.225 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 15.499 seconds (JVM running for 20.352)
2022-04-24 18:32:30.533 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-24 18:32:30.538 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-24 18:32:30.574 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 33 ms
2022-04-24 19:38:00.372 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 4264 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-24 19:38:00.395 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-24 19:38:04.068 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-24 19:38:04.068 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-24 19:38:04.183 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 40ms. Found 0 repository interfaces.
2022-04-24 19:38:04.841 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-24 19:38:05.528 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-24 19:38:05.538 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-24 19:38:05.538 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-24 19:38:05.538 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-24 19:38:05.829 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-24 19:38:05.829 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 5091 ms
2022-04-24 19:38:06.468 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-24 19:38:06.958 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-24 19:38:08.048 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-24 19:38:08.318 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-24 19:38:09.478 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-24 19:38:09.498 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-24 19:38:09.578 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-24 19:38:10.008 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-24 19:38:10.057 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-24 19:38:10.057 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 12.742 seconds (JVM running for 16.533)
2022-04-24 19:40:17.457 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 16024 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-24 19:40:17.457 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-24 19:40:18.292 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-24 19:40:18.292 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-24 19:40:18.312 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 8ms. Found 0 repository interfaces.
2022-04-24 19:40:18.587 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-24 19:40:18.757 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-24 19:40:18.762 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-24 19:40:18.767 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-24 19:40:18.767 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-24 19:40:18.827 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-24 19:40:18.827 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 1289 ms
2022-04-24 19:40:18.977 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-24 19:40:19.107 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-24 19:40:19.457 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-24 19:40:19.532 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-24 19:40:19.857 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-24 19:40:19.865 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-24 19:40:19.887 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-24 19:40:20.007 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-24 19:40:20.033 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-24 19:40:20.036 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 3.004 seconds (JVM running for 3.605)
2022-04-24 19:40:45.866 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-24 19:40:45.867 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-24 19:40:45.873 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 6 ms
2022-04-24 20:28:10.446 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 15048 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-24 20:28:10.478 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-24 20:28:16.933 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-24 20:28:16.947 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-24 20:28:17.087 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 57ms. Found 0 repository interfaces.
2022-04-24 20:28:18.713 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-24 20:28:19.982 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-24 20:28:20.068 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-24 20:28:20.072 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-24 20:28:20.078 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-24 20:28:20.472 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-24 20:28:20.473 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 9651 ms
2022-04-24 20:28:21.337 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-24 20:28:21.989 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-24 20:28:24.298 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-24 20:28:24.796 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-24 20:28:26.741 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-24 20:28:26.803 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-24 20:28:26.962 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-24 20:28:28.119 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-24 20:28:28.230 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-24 20:28:28.255 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 22.08 seconds (JVM running for 25.494)
2022-04-24 20:28:46.660 [http-nio-8001-exec-2] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-24 20:28:46.661 [http-nio-8001-exec-2] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-24 20:28:46.668 [http-nio-8001-exec-2] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 7 ms
2022-04-24 20:29:32.313 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 1788 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-24 20:29:32.340 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-24 20:29:34.862 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-24 20:29:34.864 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-24 20:29:34.916 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 34ms. Found 0 repository interfaces.
2022-04-24 20:29:35.537 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-24 20:29:35.922 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-24 20:29:35.936 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-24 20:29:35.936 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-24 20:29:35.937 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-24 20:29:36.079 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-24 20:29:36.081 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3334 ms
2022-04-24 20:29:36.545 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-24 20:29:36.909 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-24 20:29:37.830 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-24 20:29:38.165 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-24 20:29:39.286 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-24 20:29:39.315 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-24 20:29:39.370 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-24 20:29:39.654 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-24 20:29:39.691 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-24 20:29:39.703 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 9.074 seconds (JVM running for 10.721)
2022-04-24 20:29:55.430 [http-nio-8001-exec-2] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-24 20:29:55.431 [http-nio-8001-exec-2] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-24 20:29:55.459 [http-nio-8001-exec-2] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 25 ms
2022-04-24 20:31:08.056 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 1728 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-24 20:31:08.074 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-24 20:31:11.555 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-24 20:31:11.563 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-24 20:31:11.630 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 15ms. Found 0 repository interfaces.
2022-04-24 20:31:12.355 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-24 20:31:12.753 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-24 20:31:12.764 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-24 20:31:12.767 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-24 20:31:12.769 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-24 20:31:12.897 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-24 20:31:12.899 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 4535 ms
2022-04-24 20:31:13.263 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-24 20:31:13.518 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-24 20:31:14.332 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-24 20:31:14.491 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-24 20:31:15.223 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-24 20:31:15.265 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-24 20:31:15.300 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-24 20:31:15.611 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-24 20:31:15.628 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-24 20:31:15.639 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 9.283 seconds (JVM running for 11.25)
2022-04-24 20:31:27.575 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-24 20:31:27.576 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-24 20:31:27.601 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 25 ms
2022-04-24 20:32:33.005 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 13060 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-24 20:32:33.123 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-24 20:32:35.259 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-24 20:32:35.261 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-24 20:32:35.319 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 48ms. Found 0 repository interfaces.
2022-04-24 20:32:35.920 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-24 20:32:36.295 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-24 20:32:36.316 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-24 20:32:36.317 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-24 20:32:36.317 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-24 20:32:36.450 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-24 20:32:36.450 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3175 ms
2022-04-24 20:32:36.871 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-24 20:32:37.200 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-24 20:32:38.069 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-24 20:32:38.262 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-24 20:32:39.053 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-24 20:32:39.071 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-24 20:32:39.140 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-24 20:32:39.537 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-24 20:32:39.592 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-24 20:32:39.604 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 8.293 seconds (JVM running for 9.959)
2022-04-24 20:32:44.459 [http-nio-8001-exec-3] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-24 20:32:44.463 [http-nio-8001-exec-3] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-24 20:32:44.495 [http-nio-8001-exec-3] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 30 ms
2022-04-24 20:33:57.452 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 15836 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-24 20:33:57.618 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-24 20:34:00.419 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-24 20:34:00.441 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-24 20:34:00.585 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 46ms. Found 0 repository interfaces.
2022-04-24 20:34:01.452 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-24 20:34:01.964 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-24 20:34:01.970 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-24 20:34:01.970 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-24 20:34:01.970 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-24 20:34:02.162 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-24 20:34:02.162 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 4315 ms
2022-04-24 20:34:02.664 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-24 20:34:03.040 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-24 20:34:04.181 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-24 20:34:04.384 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-24 20:34:05.122 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-24 20:34:05.160 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-24 20:34:05.206 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-24 20:34:05.556 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-24 20:34:05.579 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-24 20:34:05.582 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 9.748 seconds (JVM running for 11.416)
2022-04-24 20:35:05.035 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-24 20:35:05.036 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-24 20:35:05.040 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 4 ms
2022-04-24 20:37:15.506 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 4980 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-24 20:37:15.521 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-24 20:37:18.304 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-24 20:37:18.313 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-24 20:37:18.347 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 13ms. Found 0 repository interfaces.
2022-04-24 20:37:18.981 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-24 20:37:19.369 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-24 20:37:19.382 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-24 20:37:19.383 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-24 20:37:19.383 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-24 20:37:19.506 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-24 20:37:19.508 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3699 ms
2022-04-24 20:37:19.822 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-24 20:37:20.134 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-24 20:37:21.116 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-24 20:37:21.275 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-24 20:37:21.986 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-24 20:37:22.005 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-24 20:37:22.068 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-24 20:37:22.377 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-24 20:37:22.403 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-24 20:37:22.405 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 8.472 seconds (JVM running for 10.023)
2022-04-24 20:37:34.812 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-24 20:37:34.813 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-24 20:37:34.839 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 26 ms
2022-04-24 20:38:09.069 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 10216 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-24 20:38:09.080 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-24 20:38:11.570 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-24 20:38:11.572 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-24 20:38:11.623 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 32ms. Found 0 repository interfaces.
2022-04-24 20:38:12.325 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-24 20:38:12.719 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-24 20:38:12.744 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-24 20:38:12.746 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-24 20:38:12.748 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-24 20:38:12.874 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-24 20:38:12.874 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3531 ms
2022-04-24 20:38:13.200 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-24 20:38:13.462 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-24 20:38:14.361 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-24 20:38:14.518 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-24 20:38:15.291 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-24 20:38:15.300 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-24 20:38:15.362 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-24 20:38:15.652 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-24 20:38:15.695 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-24 20:38:15.697 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 8.379 seconds (JVM running for 10.235)
2022-04-24 20:38:19.835 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-24 20:38:19.836 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-24 20:38:19.850 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 13 ms

View File

@ -0,0 +1,200 @@
2022-04-25 10:55:47.916 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 6060 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-25 10:55:47.921 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-25 10:55:50.907 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-25 10:55:50.909 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-25 10:55:50.982 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 33ms. Found 0 repository interfaces.
2022-04-25 10:55:51.396 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-25 10:55:51.874 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-25 10:55:51.906 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-25 10:55:51.906 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-25 10:55:51.906 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-25 10:55:52.048 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-25 10:55:52.049 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3866 ms
2022-04-25 10:55:52.448 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-25 10:55:52.657 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-25 10:55:53.661 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-25 10:55:53.801 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-25 10:55:54.651 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-25 10:55:54.663 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-25 10:55:54.722 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-25 10:55:55.000 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-25 10:55:55.047 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-25 10:55:55.052 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 9.125 seconds (JVM running for 11.296)
2022-04-25 10:56:29.975 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-25 10:56:29.977 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-25 10:56:29.996 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 18 ms
2022-04-25 11:55:14.432 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 8096 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-25 11:55:14.435 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-25 11:55:16.999 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-25 11:55:17.003 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-25 11:55:17.095 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 40ms. Found 0 repository interfaces.
2022-04-25 11:55:17.613 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-25 11:55:18.009 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-25 11:55:18.015 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-25 11:55:18.018 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-25 11:55:18.019 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-25 11:55:18.361 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-25 11:55:18.361 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3763 ms
2022-04-25 11:55:18.695 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-25 11:55:19.039 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-25 11:55:20.165 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-25 11:55:20.340 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-25 11:55:20.988 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-25 11:55:21.023 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-25 11:55:21.069 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-25 11:55:21.406 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-25 11:55:21.426 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-25 11:55:21.428 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 9.584 seconds (JVM running for 12.722)
2022-04-25 11:56:12.089 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-25 11:56:12.089 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-25 11:56:12.098 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 9 ms
2022-04-25 11:59:23.301 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 6836 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-25 11:59:23.323 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-25 11:59:29.258 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-25 11:59:29.259 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-25 11:59:29.283 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 14ms. Found 0 repository interfaces.
2022-04-25 11:59:29.845 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-25 11:59:30.474 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-25 11:59:30.483 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-25 11:59:30.484 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-25 11:59:30.484 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-25 11:59:30.621 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-25 11:59:30.622 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 6908 ms
2022-04-25 11:59:30.968 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-25 11:59:31.221 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-25 11:59:32.223 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-25 11:59:32.417 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-25 11:59:33.023 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-25 11:59:33.035 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-25 11:59:33.092 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-25 11:59:33.376 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-25 11:59:33.415 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-25 11:59:33.417 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 13.949 seconds (JVM running for 18.534)
2022-04-25 11:59:34.890 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-25 11:59:34.890 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-25 11:59:34.914 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 23 ms
2022-04-25 12:01:40.333 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 3804 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-25 12:01:40.403 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-25 12:01:42.726 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-25 12:01:42.728 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-25 12:01:42.798 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11ms. Found 0 repository interfaces.
2022-04-25 12:01:43.430 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-25 12:01:43.801 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-25 12:01:43.829 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-25 12:01:43.833 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-25 12:01:43.834 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-25 12:01:43.952 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-25 12:01:43.954 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3429 ms
2022-04-25 12:01:44.307 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-25 12:01:44.536 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-25 12:01:45.603 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-25 12:01:45.799 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-25 12:01:46.514 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-25 12:01:46.530 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-25 12:01:46.582 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-25 12:01:46.865 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-25 12:01:46.910 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-25 12:01:46.912 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 8.617 seconds (JVM running for 12.716)
2022-04-25 12:01:51.334 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-25 12:01:51.334 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-25 12:01:51.346 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 12 ms
2022-04-25 12:03:38.422 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 4976 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-25 12:03:38.437 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-25 12:03:40.592 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-25 12:03:40.594 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-25 12:03:40.656 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 10ms. Found 0 repository interfaces.
2022-04-25 12:03:41.190 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-25 12:03:41.523 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-25 12:03:41.530 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-25 12:03:41.530 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-25 12:03:41.531 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-25 12:03:41.667 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-25 12:03:41.668 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 2782 ms
2022-04-25 12:03:41.970 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-25 12:03:42.194 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-25 12:03:43.194 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-25 12:03:43.386 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-25 12:03:44.194 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-25 12:03:44.221 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-25 12:03:44.270 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-25 12:03:44.810 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-25 12:03:44.891 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-25 12:03:44.904 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 8.126 seconds (JVM running for 9.781)
2022-04-25 12:03:48.246 [http-nio-8001-exec-2] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-25 12:03:48.247 [http-nio-8001-exec-2] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-25 12:03:48.272 [http-nio-8001-exec-2] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 24 ms
2022-04-25 12:05:36.662 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 4432 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-25 12:05:36.693 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-25 12:05:39.522 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-25 12:05:39.535 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-25 12:05:39.603 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 38ms. Found 0 repository interfaces.
2022-04-25 12:05:40.148 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-25 12:05:40.589 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-25 12:05:40.599 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-25 12:05:40.602 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-25 12:05:40.603 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-25 12:05:40.739 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-25 12:05:40.739 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3617 ms
2022-04-25 12:05:41.141 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-25 12:05:41.473 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-25 12:05:42.476 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-25 12:05:42.651 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-25 12:05:43.412 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-25 12:05:43.455 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-25 12:05:43.517 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-25 12:05:43.861 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-25 12:05:43.891 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-25 12:05:43.901 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 9.607 seconds (JVM running for 12.458)
2022-04-25 12:05:52.260 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-25 12:05:52.261 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-25 12:05:52.267 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 5 ms
2022-04-25 12:07:16.304 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 604 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-25 12:07:16.334 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-25 12:07:17.131 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-25 12:07:17.133 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-25 12:07:17.159 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12ms. Found 0 repository interfaces.
2022-04-25 12:07:17.402 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-25 12:07:17.573 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-25 12:07:17.579 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-25 12:07:17.580 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-25 12:07:17.580 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-25 12:07:17.645 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-25 12:07:17.645 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 1284 ms
2022-04-25 12:07:17.766 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-25 12:07:17.889 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-25 12:07:18.463 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-25 12:07:18.543 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-25 12:07:18.871 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-25 12:07:18.881 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-25 12:07:18.903 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-25 12:07:19.030 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-25 12:07:19.045 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-25 12:07:19.047 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 3.142 seconds (JVM running for 3.633)
2022-04-25 12:07:20.759 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-25 12:07:20.759 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-25 12:07:20.766 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 6 ms
2022-04-25 12:12:48.641 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 2676 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-25 12:12:48.664 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-25 12:12:53.923 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-25 12:12:53.942 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-25 12:12:54.077 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 60ms. Found 0 repository interfaces.
2022-04-25 12:12:55.405 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-25 12:12:56.446 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-25 12:12:56.483 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-25 12:12:56.486 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-25 12:12:56.490 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-25 12:12:56.869 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-25 12:12:56.870 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 8023 ms
2022-04-25 12:12:57.857 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-25 12:12:58.648 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-25 12:13:01.757 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-25 12:13:02.229 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-25 12:13:04.382 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-25 12:13:04.468 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-25 12:13:04.682 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-25 12:13:06.135 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-25 12:13:06.235 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-25 12:13:06.254 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 21.55 seconds (JVM running for 25.839)
2022-04-25 12:13:08.606 [http-nio-8001-exec-3] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-25 12:13:08.606 [http-nio-8001-exec-3] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-25 12:13:08.611 [http-nio-8001-exec-3] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 5 ms

View File

@ -0,0 +1,72 @@
2022-04-27 13:37:36.533 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 12832 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-27 13:37:36.538 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-27 13:37:38.522 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-27 13:37:38.523 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-27 13:37:38.570 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 33ms. Found 0 repository interfaces.
2022-04-27 13:37:38.990 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-27 13:37:39.391 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-27 13:37:39.400 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-27 13:37:39.400 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-27 13:37:39.400 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-27 13:37:39.536 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-27 13:37:39.536 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 2838 ms
2022-04-27 13:37:39.915 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-27 13:37:40.522 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-27 13:37:43.505 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-27 13:37:44.212 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-27 13:37:46.297 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-27 13:37:46.350 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-27 13:37:46.495 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-27 13:37:46.944 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-27 13:37:46.964 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-27 13:37:46.966 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 11.822 seconds (JVM running for 13.597)
2022-04-27 13:37:49.095 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-27 13:37:49.096 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-27 13:37:49.101 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 5 ms
2022-04-27 13:40:14.385 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 13328 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-27 13:40:14.389 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-27 13:40:17.223 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-27 13:40:17.224 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-27 13:40:17.272 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 35ms. Found 0 repository interfaces.
2022-04-27 13:40:17.623 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-27 13:40:17.969 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-27 13:40:17.980 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-27 13:40:17.983 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-27 13:40:17.986 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-27 13:40:18.175 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-27 13:40:18.175 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3603 ms
2022-04-27 13:40:18.485 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-27 13:40:18.682 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-27 13:40:19.568 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-27 13:40:19.716 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-27 13:40:20.285 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-27 13:40:20.297 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-27 13:40:20.354 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-27 13:40:20.642 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-27 13:40:20.691 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-27 13:40:20.693 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 7.445 seconds (JVM running for 8.662)
2022-04-27 13:40:30.313 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 12844 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-04-27 13:40:30.316 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-04-27 13:40:32.809 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-04-27 13:40:32.817 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-04-27 13:40:32.853 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 17ms. Found 0 repository interfaces.
2022-04-27 13:40:33.525 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-04-27 13:40:33.888 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-04-27 13:40:33.898 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-04-27 13:40:33.899 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-04-27 13:40:33.899 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-04-27 13:40:34.094 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-04-27 13:40:34.095 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3460 ms
2022-04-27 13:40:34.421 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-04-27 13:40:34.644 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-04-27 13:40:35.501 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-04-27 13:40:35.631 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-04-27 13:40:36.289 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-04-27 13:40:36.304 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-04-27 13:40:36.365 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-04-27 13:40:36.611 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-04-27 13:40:36.636 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-04-27 13:40:36.637 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 7.623 seconds (JVM running for 9.067)
2022-04-27 13:41:03.686 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-04-27 13:41:03.687 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-04-27 13:41:03.691 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 4 ms

View File

@ -0,0 +1,397 @@
2022-05-05 11:37:05.920 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 12264 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-05 11:37:05.923 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-05 11:37:12.890 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-05 11:37:12.910 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-05 11:37:13.275 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 113ms. Found 0 repository interfaces.
2022-05-05 11:37:14.935 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-05 11:37:16.315 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-05 11:37:16.325 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-05 11:37:16.329 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-05 11:37:16.330 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-05 11:37:17.177 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-05 11:37:17.178 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 10926 ms
2022-05-05 11:37:18.227 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-05 11:37:19.132 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-05 11:37:22.267 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-05 11:37:22.652 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-05 11:37:25.649 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-05 11:37:25.806 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-05 11:37:25.978 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-05 11:37:26.597 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-05 11:37:26.680 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-05 11:37:26.696 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 25.243 seconds (JVM running for 30.823)
2022-05-05 11:38:03.043 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-05 11:38:03.044 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-05-05 11:38:03.058 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 14 ms
2022-05-05 13:22:29.735 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 9428 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-05 13:22:29.744 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-05 13:22:31.522 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-05 13:22:31.524 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-05 13:22:31.559 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 21ms. Found 0 repository interfaces.
2022-05-05 13:22:32.053 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-05 13:22:32.452 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-05 13:22:32.459 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-05 13:22:32.460 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-05 13:22:32.460 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-05 13:22:32.606 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-05 13:22:32.607 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 2682 ms
2022-05-05 13:22:32.993 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-05 13:22:33.264 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-05 13:22:34.604 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-05 13:22:34.782 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-05 13:22:35.546 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-05 13:22:35.580 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-05 13:22:35.618 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-05 13:22:35.950 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-05 13:22:35.992 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-05 13:22:35.994 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 7.669 seconds (JVM running for 9.004)
2022-05-05 13:22:52.702 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-05 13:22:52.702 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-05-05 13:22:52.713 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 10 ms
2022-05-05 13:36:22.598 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 13772 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-05 13:36:22.608 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-05 13:36:24.731 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-05 13:36:24.733 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-05 13:36:24.791 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 12ms. Found 0 repository interfaces.
2022-05-05 13:36:25.249 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-05 13:36:25.592 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-05 13:36:25.597 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-05 13:36:25.597 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-05 13:36:25.597 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-05 13:36:25.716 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-05 13:36:25.717 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 2924 ms
2022-05-05 13:36:26.062 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-05 13:36:26.330 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-05 13:36:27.262 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-05 13:36:27.400 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-05 13:36:28.032 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-05 13:36:28.050 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-05 13:36:28.106 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-05 13:36:28.341 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-05 13:36:28.381 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-05 13:36:28.383 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 7.257 seconds (JVM running for 8.57)
2022-05-05 13:36:40.353 [http-nio-8001-exec-3] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-05 13:36:40.354 [http-nio-8001-exec-3] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-05-05 13:36:40.388 [http-nio-8001-exec-3] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 32 ms
2022-05-05 14:11:14.309 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 5836 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-05 14:11:14.445 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-05 14:11:16.661 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-05 14:11:16.668 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-05 14:11:16.724 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 16ms. Found 0 repository interfaces.
2022-05-05 14:11:17.269 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-05 14:11:17.700 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-05 14:11:17.710 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-05 14:11:17.711 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-05 14:11:17.711 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-05 14:11:17.834 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-05 14:11:17.834 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3191 ms
2022-05-05 14:11:18.239 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-05 14:11:18.523 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-05 14:11:19.645 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-05 14:11:19.825 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-05 14:11:20.716 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-05 14:11:20.758 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-05 14:11:20.801 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-05 14:11:21.174 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-05 14:11:21.219 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-05 14:11:21.229 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 8.743 seconds (JVM running for 10.445)
2022-05-05 14:11:31.954 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-05 14:11:31.954 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-05-05 14:11:31.979 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 25 ms
2022-05-05 15:22:58.929 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 9984 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-05 15:22:58.932 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-05 15:23:00.230 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-05 15:23:00.233 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-05 15:23:00.267 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 15ms. Found 0 repository interfaces.
2022-05-05 15:23:00.617 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-05 15:23:00.864 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-05 15:23:00.871 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-05 15:23:00.872 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-05 15:23:00.872 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-05 15:23:00.965 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-05 15:23:00.966 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 1947 ms
2022-05-05 15:23:01.167 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-05 15:23:01.337 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-05 15:23:02.032 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-05 15:23:02.149 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-05 15:23:02.621 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-05 15:23:02.635 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-05 15:23:02.669 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-05 15:23:02.853 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-05 15:23:02.881 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-05 15:23:02.884 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 4.67 seconds (JVM running for 5.534)
2022-05-05 15:49:02.980 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 12536 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-05 15:49:02.994 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-05 15:49:05.628 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-05 15:49:05.639 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-05 15:49:05.724 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 36ms. Found 0 repository interfaces.
2022-05-05 15:49:06.471 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-05 15:49:06.744 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-05 15:49:06.760 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-05 15:49:06.761 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-05 15:49:06.761 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-05 15:49:06.895 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-05 15:49:06.896 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3523 ms
2022-05-05 15:49:07.233 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-05 15:49:07.453 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-05 15:49:08.194 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-05 15:49:08.309 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-05 15:49:08.806 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-05 15:49:08.823 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-05 15:49:08.858 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-05 15:49:09.106 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-05 15:49:09.142 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-05 15:49:09.144 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 7.706 seconds (JVM running for 8.389)
2022-05-05 15:49:50.605 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-05 15:49:50.607 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-05-05 15:49:50.664 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 55 ms
2022-05-05 15:55:49.141 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 14736 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-05 15:55:49.156 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-05 15:55:52.390 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-05 15:55:52.391 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-05 15:55:52.456 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 25ms. Found 0 repository interfaces.
2022-05-05 15:55:52.973 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-05 15:55:53.386 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-05 15:55:53.394 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-05 15:55:53.394 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-05 15:55:53.395 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-05 15:55:53.594 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-05 15:55:53.595 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 4295 ms
2022-05-05 15:55:53.989 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-05 15:55:54.324 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-05 15:55:55.350 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-05 15:55:55.520 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-05 15:55:56.301 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-05 15:55:56.314 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-05 15:55:56.378 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-05 15:55:56.714 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-05 15:55:56.757 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-05 15:55:56.768 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 10.365 seconds (JVM running for 11.843)
2022-05-05 15:56:02.252 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-05 15:56:02.257 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-05-05 15:56:02.301 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 38 ms
2022-05-05 16:12:47.776 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 13736 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-05 16:12:47.797 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-05 16:12:52.857 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-05 16:12:52.865 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-05 16:12:52.987 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 66ms. Found 0 repository interfaces.
2022-05-05 16:12:53.784 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-05 16:12:54.241 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-05 16:12:54.247 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-05 16:12:54.248 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-05 16:12:54.248 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-05 16:12:54.423 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-05 16:12:54.426 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 5946 ms
2022-05-05 16:12:54.794 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-05 16:12:55.213 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-05 16:12:56.451 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-05 16:12:56.743 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-05 16:12:57.505 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-05 16:12:57.522 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-05 16:12:57.586 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-05 16:12:57.931 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-05 16:12:57.984 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-05 16:12:57.986 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 13.464 seconds (JVM running for 16.296)
2022-05-05 16:13:03.247 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-05 16:13:03.248 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-05-05 16:13:03.273 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 25 ms
2022-05-05 16:58:38.826 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 4376 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-05 16:58:38.859 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-05 16:58:42.600 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-05 16:58:42.611 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-05 16:58:42.695 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 32ms. Found 0 repository interfaces.
2022-05-05 16:58:43.341 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-05 16:58:43.883 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-05 16:58:43.901 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-05 16:58:43.905 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-05 16:58:43.907 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-05 16:58:44.076 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-05 16:58:44.076 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 4834 ms
2022-05-05 16:58:44.469 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-05 16:58:44.762 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-05 16:58:46.050 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-05 16:58:46.275 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-05 16:58:47.109 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-05 16:58:47.149 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-05 16:58:47.213 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-05 16:58:47.556 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-05 16:58:47.612 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-05 16:58:47.614 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 10.738 seconds (JVM running for 12.437)
2022-05-05 16:58:54.217 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-05 16:58:54.219 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-05-05 16:58:54.247 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 27 ms
2022-05-05 20:00:33.084 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 15060 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-05 20:00:33.110 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-05 20:00:41.457 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-05 20:00:41.475 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-05 20:00:41.638 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 70ms. Found 0 repository interfaces.
2022-05-05 20:00:43.209 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-05 20:00:44.781 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-05 20:00:44.835 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-05 20:00:44.844 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-05 20:00:44.851 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-05 20:00:45.462 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-05 20:00:45.467 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 11700 ms
2022-05-05 20:00:46.502 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-05 20:00:47.264 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-05 20:00:51.236 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-05 20:00:52.004 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-05 20:00:54.825 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-05 20:00:54.910 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-05 20:00:55.118 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-05 20:00:56.493 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-05 20:00:56.646 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-05 20:00:56.668 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 28.414 seconds (JVM running for 32.336)
2022-05-05 20:01:02.509 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-05 20:01:02.511 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-05-05 20:01:02.547 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 35 ms
2022-05-05 20:04:49.617 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 11192 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-05 20:04:49.630 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-05 20:04:53.450 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-05 20:04:53.452 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-05 20:04:53.519 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 11ms. Found 0 repository interfaces.
2022-05-05 20:04:54.317 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-05 20:04:54.966 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-05 20:04:54.985 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-05 20:04:54.986 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-05 20:04:54.986 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-05 20:04:55.265 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-05 20:04:55.270 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 5558 ms
2022-05-05 20:04:55.855 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-05 20:04:56.469 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-05 20:04:57.818 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-05 20:04:58.069 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-05 20:04:59.105 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-05 20:04:59.122 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-05 20:04:59.190 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-05 20:04:59.637 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-05 20:04:59.657 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-05 20:04:59.670 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 12.286 seconds (JVM running for 15.079)
2022-05-05 20:05:36.833 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-05 20:05:36.833 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-05-05 20:05:36.864 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 30 ms
2022-05-05 20:12:47.949 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 9780 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-05 20:12:47.964 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-05 20:12:51.922 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-05 20:12:51.933 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-05 20:12:52.079 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 66ms. Found 0 repository interfaces.
2022-05-05 20:12:52.871 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-05 20:12:53.295 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-05 20:12:53.328 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-05 20:12:53.331 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-05 20:12:53.332 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-05 20:12:53.477 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-05 20:12:53.477 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 5137 ms
2022-05-05 20:12:53.860 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-05 20:12:54.156 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-05 20:12:55.428 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-05 20:12:55.618 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-05 20:12:56.411 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-05 20:12:56.423 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-05 20:12:56.491 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-05 20:12:56.874 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-05 20:12:56.892 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-05 20:12:56.895 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 10.955 seconds (JVM running for 14.384)
2022-05-05 20:13:01.959 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-05 20:13:01.960 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-05-05 20:13:01.991 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 31 ms
2022-05-05 20:26:48.368 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 2440 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-05 20:26:48.381 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-05 20:26:51.185 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-05 20:26:51.192 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-05 20:26:51.242 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 20ms. Found 0 repository interfaces.
2022-05-05 20:26:51.883 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-05 20:26:52.347 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-05 20:26:52.352 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-05 20:26:52.353 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-05 20:26:52.353 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-05 20:26:52.474 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-05 20:26:52.475 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3879 ms
2022-05-05 20:26:52.823 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-05 20:26:53.172 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-05 20:26:54.622 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-05 20:26:54.810 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-05 20:26:55.560 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-05 20:26:55.596 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-05 20:26:55.662 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-05 20:26:56.026 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-05 20:26:56.076 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-05 20:26:56.084 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 9.152 seconds (JVM running for 11.319)
2022-05-05 20:27:05.937 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-05 20:27:05.940 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-05-05 20:27:05.974 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 32 ms
2022-05-05 21:54:44.143 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 5988 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-05 21:54:44.158 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-05 21:54:49.356 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-05 21:54:49.367 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-05 21:54:49.460 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 39ms. Found 0 repository interfaces.
2022-05-05 21:54:50.625 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-05 21:54:52.161 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-05 21:54:52.199 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-05 21:54:52.202 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-05 21:54:52.203 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-05 21:54:52.726 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-05 21:54:52.727 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 8247 ms
2022-05-05 21:54:53.813 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-05 21:54:55.835 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-05 21:55:00.308 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-05 21:55:00.705 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-05 21:55:03.171 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-05 21:55:03.243 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-05 21:55:03.463 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-05 21:55:04.635 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-05 21:55:04.791 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-05 21:55:04.804 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 26.684 seconds (JVM running for 32.374)
2022-05-05 21:55:06.286 [http-nio-8001-exec-2] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-05 21:55:06.288 [http-nio-8001-exec-2] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-05-05 21:55:06.332 [http-nio-8001-exec-2] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 43 ms
2022-05-05 21:58:14.043 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 11572 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-05 21:58:14.068 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-05 21:58:17.062 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-05 21:58:17.079 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-05 21:58:17.185 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 42ms. Found 0 repository interfaces.
2022-05-05 21:58:18.261 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-05 21:58:18.851 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-05 21:58:18.865 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-05 21:58:18.870 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-05 21:58:18.871 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-05 21:58:19.047 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-05 21:58:19.047 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 4884 ms
2022-05-05 21:58:19.449 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-05 21:58:19.778 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-05 21:58:21.351 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-05 21:58:21.560 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-05 21:58:22.293 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-05 21:58:22.308 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-05 21:58:22.365 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-05 21:58:22.767 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-05 21:58:22.789 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-05 21:58:22.800 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 10.623 seconds (JVM running for 12.117)
2022-05-05 21:58:37.323 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-05 21:58:37.323 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-05-05 21:58:37.327 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 4 ms
2022-05-05 21:59:44.960 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 13024 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-05 21:59:44.979 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-05 21:59:49.624 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-05 21:59:49.633 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-05 21:59:49.718 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 40ms. Found 0 repository interfaces.
2022-05-05 21:59:50.455 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-05 21:59:50.950 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-05 21:59:50.984 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-05 21:59:50.985 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-05 21:59:50.986 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-05 21:59:51.187 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-05 21:59:51.187 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 5753 ms
2022-05-05 21:59:51.646 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-05 21:59:52.237 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-05 21:59:53.849 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-05 21:59:54.079 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-05 21:59:55.110 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-05 21:59:55.124 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-05 21:59:55.189 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-05 21:59:55.653 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-05 21:59:55.676 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-05 21:59:55.687 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 13.226 seconds (JVM running for 16.838)
2022-05-05 22:00:07.033 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-05 22:00:07.034 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-05-05 22:00:07.067 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 32 ms

View File

@ -0,0 +1,106 @@
2022-05-05 13:35:38.424 [http-nio-8001-exec-10] ERROR c.a.s.exceptionhandler.GlobalExceptionHandler - GuliException(code=20001, msg=执行了自定义异常处理...)
at com.atguigu.eduservice.controller.EduTeacherController.findAllTeacher(EduTeacherController.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:888)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:526)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1579)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
2022-05-05 13:35:46.902 [http-nio-8001-exec-6] ERROR c.a.s.exceptionhandler.GlobalExceptionHandler - GuliException(code=20001, msg=执行了自定义异常处理...)
at com.atguigu.eduservice.controller.EduTeacherController.findAllTeacher(EduTeacherController.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:888)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:526)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:861)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1579)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)

View File

@ -0,0 +1,172 @@
2022-05-06 09:52:35.727 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 15204 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-06 09:52:35.895 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-06 09:52:40.103 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-06 09:52:40.112 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-06 09:52:40.230 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 47ms. Found 0 repository interfaces.
2022-05-06 09:52:40.848 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-06 09:52:41.357 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-06 09:52:41.371 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-06 09:52:41.372 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-06 09:52:41.372 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-06 09:52:41.514 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-06 09:52:41.515 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 5147 ms
2022-05-06 09:52:41.986 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-06 09:52:42.365 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-06 09:52:43.652 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-06 09:52:43.906 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-06 09:52:44.986 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-06 09:52:45.020 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-06 09:52:45.065 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-06 09:52:45.511 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-06 09:52:45.533 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-06 09:52:45.536 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 13.212 seconds (JVM running for 15.645)
2022-05-06 09:53:56.118 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-06 09:53:56.118 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-05-06 09:53:56.148 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 30 ms
2022-05-06 10:57:01.474 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 12332 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-06 10:57:01.531 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-06 10:57:08.139 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-06 10:57:08.164 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-06 10:57:08.457 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 154ms. Found 0 repository interfaces.
2022-05-06 10:57:10.323 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-06 10:57:11.494 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-06 10:57:11.541 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-06 10:57:11.543 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-06 10:57:11.546 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-06 10:57:11.963 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-06 10:57:11.964 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 9710 ms
2022-05-06 10:57:12.883 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-06 10:57:13.569 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-06 10:57:16.737 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-06 10:57:17.184 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-06 10:57:19.150 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-06 10:57:19.209 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-06 10:57:19.303 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-06 10:57:20.172 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-06 10:57:20.220 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-06 10:57:20.238 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 23.142 seconds (JVM running for 26.723)
2022-05-06 11:08:35.770 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 13764 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-06 11:08:35.790 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-06 11:08:42.862 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-06 11:08:42.914 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-06 11:08:43.151 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 92ms. Found 0 repository interfaces.
2022-05-06 11:08:45.479 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-06 11:08:47.255 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-06 11:08:47.341 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-06 11:08:47.346 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-06 11:08:47.362 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-06 11:08:48.160 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-06 11:08:48.168 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 12056 ms
2022-05-06 11:08:49.566 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-06 11:08:50.610 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-06 11:08:54.309 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-06 11:08:54.972 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-06 11:08:57.158 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-06 11:08:57.254 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-06 11:08:57.443 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-06 11:08:58.668 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-06 11:08:58.749 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-06 11:08:58.770 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 26.387 seconds (JVM running for 29.882)
2022-05-06 11:09:05.928 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-06 11:09:05.931 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-05-06 11:09:05.965 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 31 ms
2022-05-06 11:11:22.419 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 14116 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-06 11:11:22.423 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-06 11:11:24.227 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-06 11:11:24.228 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-06 11:11:24.315 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 24ms. Found 0 repository interfaces.
2022-05-06 11:11:24.877 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-06 11:11:25.223 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-06 11:11:25.229 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-06 11:11:25.230 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-06 11:11:25.230 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-06 11:11:25.362 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-06 11:11:25.363 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 2671 ms
2022-05-06 11:11:25.631 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-06 11:11:25.828 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-06 11:11:27.023 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-06 11:11:27.268 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-06 11:11:27.873 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-06 11:11:27.882 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-06 11:11:27.926 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-06 11:11:28.213 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-06 11:11:28.233 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-06 11:11:28.235 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 7.039 seconds (JVM running for 8.971)
2022-05-06 11:11:32.024 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-06 11:11:32.026 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-05-06 11:11:32.033 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 5 ms
2022-05-06 11:14:30.219 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 11988 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-06 11:14:30.235 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-06 11:14:32.096 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-06 11:14:32.098 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-06 11:14:32.122 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 15ms. Found 0 repository interfaces.
2022-05-06 11:14:32.506 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-06 11:14:32.813 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-06 11:14:32.832 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-06 11:14:32.832 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-06 11:14:32.833 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-06 11:14:32.925 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-06 11:14:32.925 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 2594 ms
2022-05-06 11:14:33.236 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-06 11:14:33.448 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-06 11:14:34.377 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-06 11:14:34.519 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-06 11:14:35.107 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-06 11:14:35.116 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-06 11:14:35.171 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-06 11:14:35.483 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-06 11:14:35.510 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-06 11:14:35.512 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 6.722 seconds (JVM running for 7.686)
2022-05-06 11:14:40.991 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-06 11:14:40.992 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-05-06 11:14:41.010 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 18 ms
2022-05-06 11:17:35.715 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 8296 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-06 11:17:35.718 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-06 11:17:37.702 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-06 11:17:37.704 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-06 11:17:37.767 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 9ms. Found 0 repository interfaces.
2022-05-06 11:17:38.298 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-06 11:17:38.631 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-06 11:17:38.636 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-06 11:17:38.637 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-06 11:17:38.637 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-06 11:17:38.759 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-06 11:17:38.760 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 2849 ms
2022-05-06 11:17:39.045 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-06 11:17:39.303 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-06 11:17:40.176 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-06 11:17:40.307 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-06 11:17:40.969 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-06 11:17:40.978 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-06 11:17:41.041 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-06 11:17:41.421 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-06 11:17:41.442 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-06 11:17:41.444 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 6.944 seconds (JVM running for 8.254)
2022-05-06 11:17:48.500 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-06 11:17:48.501 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-05-06 11:17:48.509 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 8 ms
2022-05-06 11:18:43.986 [main] INFO com.atguigu.eduservice.EduApplication - Starting EduApplication on SKY-20201118IYZ with PID 15180 (E:\self_example\guli_parent\service\service_edu\target\classes started by Administrator in E:\self_example\guli_parent)
2022-05-06 11:18:43.989 [main] INFO com.atguigu.eduservice.EduApplication - The following profiles are active: dev
2022-05-06 11:18:46.183 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Multiple Spring Data modules found, entering strict repository configuration mode!
2022-05-06 11:18:46.185 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Bootstrapping Spring Data repositories in DEFAULT mode.
2022-05-06 11:18:46.223 [main] INFO o.s.d.r.config.RepositoryConfigurationDelegate - Finished Spring Data repository scanning in 19ms. Found 0 repository interfaces.
2022-05-06 11:18:46.792 [main] INFO o.s.c.s.PostProcessorRegistrationDelegate$BeanPostProcessorChecker - Bean 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration' of type [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-05-06 11:18:47.210 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat initialized with port(s): 8001 (http)
2022-05-06 11:18:47.250 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8001"]
2022-05-06 11:18:47.251 [main] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat]
2022-05-06 11:18:47.251 [main] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/9.0.27]
2022-05-06 11:18:47.390 [main] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext
2022-05-06 11:18:47.390 [main] INFO org.springframework.web.context.ContextLoader - Root WebApplicationContext: initialization completed in 3257 ms
2022-05-06 11:18:47.787 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Starting...
2022-05-06 11:18:48.020 [main] INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Start completed.
2022-05-06 11:18:48.934 [main] INFO s.d.s.w.PropertySourcedRequestMappingHandlerMapping - Mapped URL path [/v2/api-docs] onto method [springfox.documentation.swagger2.web.Swagger2Controller#getDocumentation(String, HttpServletRequest)]
2022-05-06 11:18:49.072 [main] INFO o.s.scheduling.concurrent.ThreadPoolTaskExecutor - Initializing ExecutorService 'applicationTaskExecutor'
2022-05-06 11:18:49.781 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Context refreshed
2022-05-06 11:18:49.790 [main] INFO s.d.s.web.plugins.DocumentationPluginsBootstrapper - Found 1 custom documentation plugin(s)
2022-05-06 11:18:49.849 [main] INFO s.d.spring.web.scanners.ApiListingReferenceScanner - Scanning for api listing references
2022-05-06 11:18:50.136 [main] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8001"]
2022-05-06 11:18:50.176 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8001 (http) with context path ''
2022-05-06 11:18:50.182 [main] INFO com.atguigu.eduservice.EduApplication - Started EduApplication in 7.938 seconds (JVM running for 10.394)
2022-05-06 11:18:54.742 [http-nio-8001-exec-1] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring DispatcherServlet 'dispatcherServlet'
2022-05-06 11:18:54.742 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Initializing Servlet 'dispatcherServlet'
2022-05-06 11:18:54.773 [http-nio-8001-exec-1] INFO org.springframework.web.servlet.DispatcherServlet - Completed initialization in 31 ms

View File

@ -0,0 +1,25 @@
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>service</artifactId>
<groupId>com.atguigu</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>service_edu</artifactId>
<dependencies>
<!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel -->
<!--easyExcel工具还需要poi依赖3.1.1版本,这里在他的父工程中已经引过了-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.1</version>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,18 @@
package com.atguigu.eduservice;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication
@ComponentScan(basePackages = {"com.atguigu"})
public class EduApplication {
public static void main(String[] args) {
SpringApplication.run(EduApplication.class,args);
}
}

View File

@ -0,0 +1,28 @@
package com.atguigu.eduservice.config;
import com.baomidou.mybatisplus.core.injector.ISqlInjector;
import com.baomidou.mybatisplus.extension.injector.LogicSqlInjector;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@MapperScan("com.atguigu.eduservice.mapper")
public class EduConfig {
//插件配置逻辑删除
@Bean
public ISqlInjector sqlInjector() {
return new LogicSqlInjector();
}
//分页插件
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}

View File

@ -0,0 +1,81 @@
package com.atguigu.eduservice.controller;
import com.atguigu.commonutils.R;
import com.atguigu.eduservice.entity.EduChapter;
import com.atguigu.eduservice.entity.chapter.ChapterVo;
import com.atguigu.eduservice.service.EduChapterService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.web.ConditionalOnEnabledResourceChain;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* <p>
* 课程 前端控制器
* </p>
*
* @author Ding
* @since 2022-04-25
*/
@RestController
@RequestMapping("/eduservice/edu-chapter")
@CrossOrigin
public class EduChapterController {
@Autowired
private EduChapterService chapterService;
//课程大纲列表,根据课程id进行查询
@GetMapping("getChapterVideo/{courseId}")
public R getChapterVideo(@PathVariable String courseId){
List<ChapterVo> list=chapterService.getChapterVideoByCourseId(courseId);
return R.ok().data("list",list);
}
//添加章节
@PostMapping("addChapter")
public R addChapter(@RequestBody EduChapter chapter){
chapterService.save(chapter);
return R.ok();
}
//根据章节id查询
@GetMapping("getChapter/{chapterId}")
public R getChapter(@PathVariable String chapterId){
EduChapter chapter = chapterService.getById(chapterId);
return R.ok().data("chapter",chapter);
}
//修改
@PostMapping("updateChapter")
public R updateChapter(@RequestBody EduChapter chapter){
chapterService.updateById(chapter);
return R.ok();
}
//删除
@DeleteMapping("{chapterId}")
public R deleteChapter(@PathVariable String chapterId){
boolean flag=chapterService.deleteChapter(chapterId);
if(flag){
return R.ok();
}else {
return R.error();
}
}
}

View File

@ -0,0 +1,21 @@
package com.atguigu.eduservice.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 课程收藏 前端控制器
* </p>
*
* @author Ding
* @since 2022-04-25
*/
@RestController
@RequestMapping("/eduservice/edu-course-collect")
public class EduCourseCollectController {
}

View File

@ -0,0 +1,123 @@
package com.atguigu.eduservice.controller;
import com.atguigu.commonutils.R;
import com.atguigu.eduservice.entity.EduCourse;
import com.atguigu.eduservice.entity.vo.CourseInfoVo;
import com.atguigu.eduservice.entity.vo.CoursePublishVo;
import com.atguigu.eduservice.entity.vo.CourseQuery;
import com.atguigu.eduservice.service.EduCourseService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.logging.log4j.util.Strings;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* <p>
* 课程 前端控制器
* </p>
*
* @author Ding
* @since 2022-04-25
*/
@RestController
@RequestMapping("/eduservice/edu-course")
@CrossOrigin
public class EduCourseController {
@Autowired
private EduCourseService courseService;
//课程列表 TODO
//完善条件查询;带分页功能
@PostMapping("pageCourseCondition/{current}/{limit}")
public R pageCourseCondition(@PathVariable int current,@PathVariable int limit,@RequestBody(required = false) CourseQuery courseQuery){
Page<EduCourse> page=new Page<>(current,limit);
QueryWrapper<EduCourse> wrapper=new QueryWrapper<>();
String title = courseQuery.getTitle();
String status = courseQuery.getStatus();
if(!Strings.isEmpty(title)){
wrapper.like("title",title);
}
if(!Strings.isEmpty(status)){
wrapper.eq("status",status);
}
courseService.page(page,wrapper);
long total = page.getTotal();
List<EduCourse> records = page.getRecords();
return R.ok().data("total",total).data("records",records);
}
//添加客户才能基本信息的方法
@PostMapping("addCourseInfo")
public R addCourseInfo(@RequestBody CourseInfoVo courseInfoVo){
//返回添加之后课程id为了后面添加大纲使用
String cid=courseService.saveCourseInfo(courseInfoVo);
return R.ok().data("courseId",cid);
}
//根据课程id查询课程的基本信息
@GetMapping("getCourseInfo/{courseId}")
public R getCourseIndo(@PathVariable String courseId){
CourseInfoVo courseInfoVo=courseService.getCourseInfo(courseId);
return R.ok().data("courseInfoVo",courseInfoVo);
}
//修改课程信息
@PostMapping("updateCourseInfo")
public R updateCourseInfo(@RequestBody CourseInfoVo courseInfoVo){
courseService.updateCourseInfo(courseInfoVo);
return R.ok();
}
//根据课程id查询课程确认信息
@GetMapping("getPublishCourseInfo/{courseId}")
public R getPublishCourseInfo(@PathVariable String courseId){
CoursePublishVo coursePublishVo=courseService.publishCourseInfo(courseId);
return R.ok().data("coursePublishVo",coursePublishVo);
}
//课程的最终发布
//修改课程状态
@PostMapping("publishCourse/{courseId}")
public R publishCourse(@PathVariable String courseId){
EduCourse eduCourse=new EduCourse();
eduCourse.setId(courseId);
eduCourse.setStatus("Normal"); //设置课程为发布状态
courseService.updateById(eduCourse);
return R.ok();
}
//删除课程信息
@DeleteMapping("{courseId}")
public R deleteCourseById(@PathVariable String courseId){
courseService.removeCourse(courseId);
return R.ok();
}
}

View File

@ -0,0 +1,30 @@
package com.atguigu.eduservice.controller;
import com.atguigu.commonutils.R;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/eduservice/user")
@CrossOrigin //解决跨域问题
public class EduLoginController {
//Login
@PostMapping("login")
public R login(){
return R.ok().data("token","admin");
}
//info
@GetMapping("info")
public R info(){
return R.ok().data("roles","[admin]").data("name","admin").data("avatar","https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif");
}
}

View File

@ -0,0 +1,61 @@
package com.atguigu.eduservice.controller;
import com.atguigu.commonutils.R;
import com.atguigu.eduservice.entity.subject.OneSubject;
import com.atguigu.eduservice.service.EduSubjectService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.support.MultipartFilter;
import java.util.List;
/**
* <p>
* 课程科目 前端控制器
* </p>
*
* @author Ding
* @since 2022-04-24
*/
@RestController
@RequestMapping("/eduservice/edu-subject")
@CrossOrigin
public class EduSubjectController {
@Autowired
private EduSubjectService subjectService;
//添加课程分类
//获取上传文件,把文件内容读取出来
@PostMapping("addSubject")
public R addSubject(MultipartFile file){
//获取上传过来的excel文件
//TODO 为了能在监听器中获取到service对象,这里直接将service传入进去
subjectService.saveSubject(file,subjectService);
return R.ok();
}
//课程分类的列表功能(使用树形结构实现)
@GetMapping("getAllSubject")
public R getAllSubject(){
//list集合中的泛型是一级分类
List<OneSubject> list =subjectService.getAllOneTwoSubject();
return R.ok().data("list",list);
}
}

View File

@ -0,0 +1,192 @@
package com.atguigu.eduservice.controller;
import com.atguigu.commonutils.R;
import com.atguigu.eduservice.entity.EduTeacher;
import com.atguigu.eduservice.entity.vo.TeacherQuery;
import com.atguigu.eduservice.service.EduTeacherService;
import com.atguigu.servicebase.exceptionhandler.GuliException;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.el.lang.ELArithmetic;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* <p>
* 讲师 前端控制器
* </p>
*
* @author Ding
* @since 2022-04-21
*/
@Api(description = "讲师管理")
@RestController
@RequestMapping("/eduservice/edu-teacher")
@CrossOrigin
public class EduTeacherController {
//把service注入
@Autowired
private EduTeacherService teacherService;
//查询讲师表中的所有数据
@ApiOperation(value = "所有讲师列表")
@GetMapping("findAll")
public R findAllTeacher(){
//调用service的方法实现查询所有的操作
List<EduTeacher> list = teacherService.list(null);
// //自定义异常的手动抛出
// try {
// int k=1/0;
// }catch (Exception e){
// //执行自定义异常
// throw new GuliException(20001,"执行了自定义异常处理...");
// }
return R.ok().data("items",list);
}
//逻辑删除讲师的方法
@DeleteMapping("{id}")
@ApiOperation(value = "逻辑删除讲师")
public R removeTeacher(@ApiParam(name = "id" ,value = "讲师ID",required = true) @PathVariable("id") String id){
boolean result = teacherService.removeById(id);
if(result){
return R.ok();
}else {
return R.error();
}
}
/**
* 分页查询讲师的方法
* @param current 当前页
* @param limit 每页记录数
* @return
*/
@GetMapping("pageTeacher/{current}/{limit}")
@ApiOperation(value = "讲师分页查询")
public R pageListTeacher(@PathVariable("current") long current,@PathVariable("limit") long limit){
//创建page对象
Page<EduTeacher> teacherPage = new Page<EduTeacher>(current,limit);
//调用方法显示分页
//调用方法的时候,底层封装,把分页所有的数据封装到pageTeacher对象里面
teacherService.page(teacherPage,null);
long total = teacherPage.getTotal(); //总记录数
List<EduTeacher> records = teacherPage.getRecords(); //数据list集合
// Map map =new HashMap();
// map.put("total",total);
// map.put("rows",records);
// return R.ok().data(map);
return R.ok().data("total",total).data("rows",records);
}
/**
* 条件查询带分页
* RequestBody :使用json传递数据,把json数据封装到对应对象里面(需要使用postMappering的方式)
*/
// @GetMapping("pageTeacherCondition/{current}/{limit}")
@PostMapping("pageTeacherCondition/{current}/{limit}")
public R pageTeacherCCondition(@PathVariable("current") long current, @PathVariable("limit") long limit,@RequestBody(required = false) TeacherQuery teacherQuery){
//创建一个page对象
Page<EduTeacher> teacherPage = new Page<>(current,limit);
//调用方法实现条件查询分页
//构建条件
QueryWrapper<EduTeacher> wrapper = new QueryWrapper<>();
//判断条件是否为空g,如果不为空拼接条件
String name = teacherQuery.getName();
Integer level = teacherQuery.getLevel();
String begin = teacherQuery.getBegin();
String end = teacherQuery.getEnd();
if(!StringUtils.isEmpty(name)){
//构建条件
wrapper.like("name",name);
}
if(!StringUtils.isEmpty(level)){
wrapper.eq("level",level);
}
if(!StringUtils.isEmpty(begin)){
wrapper.ge("gmt_create",begin);
}
if(!StringUtils.isEmpty(end)){
wrapper.le("gmt_create",end);
}
//排序
wrapper.orderByDesc("gmt_create");
teacherService.page(teacherPage,wrapper);
long total = teacherPage.getTotal(); //总记录数
List<EduTeacher> records = teacherPage.getRecords(); //数据list集合
return R.ok().data("total",total).data("rows",records);
}
//添加讲师接口的方法
@PostMapping("addTeacher")
public R addTeacher(@RequestBody EduTeacher eduTeacher){
boolean save = teacherService.save(eduTeacher);
if(save) {
return R.ok();
}else {
return R.error();
}
}
//根据讲师id进行查询
@GetMapping("getTeacher/{id}")
public R getTeacher(@PathVariable("id") String id){
EduTeacher eduTeacher = teacherService.getById(id);
return R.ok().data("teacher",eduTeacher);
}
//讲师修改功能(Rest风格的一般使用put,这里为了使用requestbody使用了post提交)
@PostMapping("updateTeacher")
public R updateTeacher(@RequestBody EduTeacher eduTeacher){
boolean flag = teacherService.updateById(eduTeacher);
if(flag){
return R.ok();
}else{
return R.error();
}
}
}

View File

@ -0,0 +1,65 @@
package com.atguigu.eduservice.controller;
import com.atguigu.commonutils.R;
import com.atguigu.eduservice.entity.EduChapter;
import com.atguigu.eduservice.entity.EduVideo;
import com.atguigu.eduservice.service.EduVideoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* <p>
* 课程视频 前端控制器
* </p>
*
* @author Ding
* @since 2022-04-25
*/
@RestController
@RequestMapping("/eduservice/edu-video")
@CrossOrigin
public class EduVideoController {
@Autowired
private EduVideoService videoService;
@PostMapping("addVideo")
public R addVideo(@RequestBody EduVideo eduVideo){
videoService.save(eduVideo);
return R.ok();
}
//删除小结
//todo 后面这个方法需要完善:删除小结的时候同时把里面的视频也删除
@DeleteMapping("{videoId}")
public R deleteVideo(@PathVariable String videoId){
videoService.removeById(videoId);
return R.ok();
}
//修改小结
@PostMapping("updateVideo")
public R updateVideo(@RequestBody EduVideo eduVideo){
videoService.updateById(eduVideo);
return R.ok();
}
//根据章节id查询
@GetMapping("getVideo/{videoId}")
public R getVideo(@PathVariable String videoId){
EduVideo video = videoService.getById(videoId);
return R.ok().data("video",video);
}
}

View File

@ -0,0 +1,54 @@
package com.atguigu.eduservice.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 课程
* </p>
*
* @author Ding
* @since 2022-04-25
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="EduChapter对象", description="课程")
public class EduChapter implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "章节ID")
@TableId(value = "id", type = IdType.ID_WORKER_STR)
private String id;
@ApiModelProperty(value = "课程ID")
private String courseId;
@ApiModelProperty(value = "章节名称")
private String title;
@ApiModelProperty(value = "显示排序")
private Integer sort;
@ApiModelProperty(value = "创建时间")
@TableField(fill = FieldFill.INSERT)
private Date gmtCreate;
@ApiModelProperty(value = "更新时间")
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date gmtModified;
}

View File

@ -0,0 +1,83 @@
package com.atguigu.eduservice.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 课程
* </p>
*
* @author Ding
* @since 2022-04-25
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="EduCourse对象", description="课程")
public class EduCourse implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "课程ID")
@TableId(value = "id", type = IdType.ID_WORKER_STR)
private String id;
@ApiModelProperty(value = "课程讲师ID")
private String teacherId;
@ApiModelProperty(value = "课程专业ID")
private String subjectId;
@ApiModelProperty(value = "课程专业父级ID")
private String subjectParentId;
@ApiModelProperty(value = "课程标题")
private String title;
@ApiModelProperty(value = "课程销售价格设置为0则可免费观看")
private BigDecimal price;
@ApiModelProperty(value = "总课时")
private Integer lessonNum;
@ApiModelProperty(value = "课程封面图片路径")
private String cover;
@ApiModelProperty(value = "销售数量")
private Long buyCount;
@ApiModelProperty(value = "浏览数量")
private Long viewCount;
@ApiModelProperty(value = "乐观锁")
private Long version;
@ApiModelProperty(value = "课程状态 Draft未发布 Normal已发布")
private String status;
@ApiModelProperty(value = "逻辑删除 1true已删除 0false未删除")
private Integer isDeleted;
@ApiModelProperty(value = "创建时间")
@TableField(fill = FieldFill.INSERT)
private Date gmtCreate;
@ApiModelProperty(value = "更新时间")
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date gmtModified;
}

View File

@ -0,0 +1,54 @@
package com.atguigu.eduservice.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 课程收藏
* </p>
*
* @author Ding
* @since 2022-04-25
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="EduCourseCollect对象", description="课程收藏")
public class EduCourseCollect implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "收藏ID")
@TableId(value = "id", type = IdType.ID_WORKER_STR)
private String id;
@ApiModelProperty(value = "课程讲师ID")
private String courseId;
@ApiModelProperty(value = "课程专业ID")
private String memberId;
@ApiModelProperty(value = "逻辑删除 1true已删除 0false未删除")
private Integer isDeleted;
@ApiModelProperty(value = "创建时间")
@TableField(fill = FieldFill.INSERT)
private Date gmtCreate;
@ApiModelProperty(value = "更新时间")
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date gmtModified;
}

View File

@ -0,0 +1,48 @@
package com.atguigu.eduservice.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 课程简介
* </p>
*
* @author Ding
* @since 2022-04-25
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="EduCourseDescription对象", description="课程简介")
public class EduCourseDescription implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "课程ID")
@TableId(value = "id", type = IdType.INPUT) //手动生成
private String id;
@ApiModelProperty(value = "课程简介")
private String description;
@ApiModelProperty(value = "创建时间")
@TableField(fill = FieldFill.INSERT)
private Date gmtCreate;
@ApiModelProperty(value = "更新时间")
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date gmtModified;
}

Some files were not shown because too many files have changed in this diff Show More