Spring Boot 学习记录笔记【 一 】

Spring Boot中统一记录请求、响应及异常日志的方法 通过自定义可以同时记录请求和响应日志。if (!try {// 可以添加更多信息注册DispatcherServlet:在配置类中注册自定义的。@Bean。 阅读详情

创建 Spring Boot 项目

我使用开发软件IntelliJ IDEA 2021.3.2,已经百度破解了。
在这里插入图片描述
相信大家都使用过IntelliJ IDEA了,接下来我们就直接创建一个项目。
在这里插入图片描述
填写创建项目的名称和存放地址,以及包名和JDK。

在这里插入图片描述
初始化我们就选择一个版本号,和Spring Web依赖,其余项目中需要用到的依赖,在使用过程中,我们可以依次添加。

在这里插入图片描述
创建成功,项目基本目录展示。

修改 Spring Boot 项目

可能每个人的习惯不一样,主要也是记录自己的学习笔记,体谅一下。

删除

在这里插入图片描述
在这里插入图片描述
删除 test 测试文件夹下面所有文件以及pom.xml里面的test依赖。

新增

针对 pom.xml 里面的依赖,我第一次会新增一些基本常用的,后期可以在修改、删除、新增

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.12</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.zcf</groupId>
    <artifactId>monitor-demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>monitor-demo</name>
    <description>monitor-demo</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- 添加热部署依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>
        <!-- 集成mybatis -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.4</version>
        </dependency>
        <!-- mysql 数据库驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.27</version>
        </dependency>
        <!-- druid 连接池-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.10</version>
        </dependency>
        <!-- spring AOP -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        <!-- alibaba fastjson -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.78</version>
        </dependency>
        <!-- pagehelper 插件 -->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.4.0</version>
        </dependency>
        <!-- 校验 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <!-- 整合redis -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <!-- WebSocket -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
        </dependency>
        <!-- easyexcel -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>2.1.6</version>
        </dependency>
        <!-- httpclient -->
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.5.13</version>
        </dependency>
    </dependencies>

    <build>
        <!-- 打Jar包路径和名称 -->
        <finalName>/dist/${artifactId}</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!-- mybatis generator 自动生成代码插件 -->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.4.0</version>
                <configuration>
                    <configurationFile>src/main/resources/generator/generator-config.xml</configurationFile>
                    <overwrite>true</overwrite>
                    <verbose>true</verbose>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>8.0.27</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

</project>

在src -> resources 下创建文件夹generator ,新建 generator-config.xml ,mybatis generator 自动生成持久层代码

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>
    <context id="Mysql" targetRuntime="MyBatis3" defaultModelType="flat">

        <!-- 自动检查关键字,为关键字增加反引号 -->
        <property name="autoDelimitKeywords" value="true"/>
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>

        <!--覆盖生成XML文件-->
        <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" />
        <!-- 生成的实体类添加toString()方法 -->
        <plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>

        <!-- 不生成注释 -->
        <commentGenerator>
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1:3306/monitordemo?serverTimezone=Asia/Shanghai"
                        userId="ahls"
                        password="AHls888@.">
        </jdbcConnection>

        <!-- domain类的位置 -->
        <javaModelGenerator targetProject="src\main\java"
                            targetPackage="com.zcf.monitor.entity"/>

        <!-- mapper xml的位置 -->
        <sqlMapGenerator targetProject="src\main\resources"
                         targetPackage="mapper"/>

        <!-- mapper类的位置 -->
        <javaClientGenerator targetProject="src\main\java"
                             targetPackage="com.zcf.monitor.mapper"
                             type="XMLMAPPER"/>
        <!-- 修改生成数据库的表名 -->
        
        <!--        <table tableName="demo" domainObjectName="Demo"/>-->
        <!--        <table tableName="ebook" domainObjectName="Ebook"/>-->
        <!--        <table tableName="category" domainObjectName="Category"/>-->
        <!--        <table tableName="doc" domainObjectName="Doc"/>-->
        <!--        <table tableName="content" domainObjectName="Content"/>-->
        <!--        <table tableName="user"/>-->
        <table tableName="ebook_snapshot" domainObjectName="EbookSnapshot"/>
        
        <!--        <table tableName="phone" domainObjectName="Phone"/>-->
        <!--        <table tableName="segment" domainObjectName="Segment"/>-->
        <!--        <table tableName="new_phone" domainObjectName="NewPhone"/>-->
        <!--        <table tableName="invitation" />-->
        
    </context>
</generatorConfiguration>

在src -> resources 新建 logback-spring.xml ,
logback 5个日志级别
TRACE < DEBUG < INFO < WARN < ERROR

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- 修改一下路径-->
    <property name="PATH" value="./log"></property>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %blue(%-50logger{50}:%-4line) %thread %green(%-18X{LOG_ID}) %msg%n</Pattern>
            <!--            <Pattern>%d{ss.SSS} %highlight(%-5level) %blue(%-30logger{30}:%-4line) %thread %green(%-18X{LOG_ID}) %msg%n</Pattern>-->
        </encoder>
    </appender>

    <appender name="TRACE_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${PATH}/trace.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${PATH}/trace.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>10MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <layout>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %-50logger{50}:%-4line %green(%-18X{LOG_ID}) %msg%n</pattern>
        </layout>
    </appender>

    <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${PATH}/error.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${PATH}/error.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>10MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <layout>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %-50logger{50}:%-4line %green(%-18X{LOG_ID}) %msg%n</pattern>
        </layout>
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>

    <root level="ERROR">
        <appender-ref ref="ERROR_FILE" />
    </root>

    <root level="TRACE">
        <appender-ref ref="TRACE_FILE" />
    </root>

    <root level="INFO">
        <appender-ref ref="STDOUT" />
    </root>
</configuration>

修改

修改application.properties文件 -> 修改成 application.yml ,修改application,并不代表必须要修改,还是根据个人习惯不同。

server: #修改启动端口号,默认8080
  port: 8089

spring:
  datasource: #增加数据库链接
    url: jdbc:mysql://127.0.0.1:3306/demozcf?characterEncoding=UTF8&autoReconnect=true&serverTimezone=Asia/Shanghai&allowMultiQueries=true
    username: ahls
    password: AHls888@.
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
  redis: #增加Redis链接
    host: 127.0.0.1
    database: 0
    port: 6379
    password:
    jedis:
      pool:
        max-active: 200
        max-wait: -1
        max-idle: 10
        min-idle: 0
    timeout: 6000

mybatis:  #配置mybatis所有Mapper.xml所在的路径
  mapper-locations: classpath:/mapper/**/*.xml

logging: #SQL日志打印
  level:
    com.zcf.monitor.mapper: trace

在src -> main -> java -> com.zcf.monitor 下,新建文件夹config,将启动类移动到config文件夹里面,并修改,这一步移动也是因为个人习惯去操作的。

package com.zcf.monitor.config;

import org.mybatis.spring.annotation.MapperScan;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.core.env.Environment;

@ComponentScan("com.zcf")
@SpringBootApplication
@MapperScan("com.zcf.monitor.mapper")
public class MonitorDemoApplication {

    private static final Logger LOG = LoggerFactory.getLogger(MonitorDemoApplication.class);

    public static void main(String[] args) {
        SpringApplication app = new SpringApplication(MonitorDemoApplication.class);
        Environment env = app.run(args).getEnvironment();
        LOG.info("启动成功!!");
        LOG.info("地址:\thttp://127.0.0.1:{}",env.getProperty("server.port"));
    }

}

启动

个人觉得基本的搭建已经完成,我们开始启动一下,看看效果。启动的方法又很多种,使用过IDEA,都应该知道如何启动,不赘述了。看看效果
在这里插入图片描述
从图中,看出来现在已经启动成功了。因为Spring Boot 内置的有 tomcat 容器,就不用单独部署到tomcat 里面了。
现在我们在浏览器上访问一下:http://127.0.0.1:8089/test,之前写过的一个测试接口

package com.zcf.monitor.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 测试专用
 */
@RestController
public class TestController {

    private static final Logger LOG = LoggerFactory.getLogger(TestController.class);

    @GetMapping("/test")
    public String toTest(){
    	LOG.info("测试成功。");
        return "success!!!";
    }
}

在这里插入图片描述Console也打印LOG日志
在这里插入图片描述

结尾

到这里,Spring Boot 项目从创建到基础启动,已经全部完成了,文章是记录自己的学习笔记,或多或少都有问题和遗漏,欢迎留言,一起进步。继续更新Spring Boot 学习记录笔记【 二 】

Spring Boot学习记录(一):Spring Boot 基础 SpringBoot是一个简化Spring应用开发的框架,提供了快速创建独立项目、嵌入式服务器、自动配置等特性。本文介绍了开发环境准备(JDK17+、Maven3.3+、IDEA)、创建第一个SpringBoot应用的完整流程(包括Maven配置、控制器编写、接口测试),重点解析了核心机制,还演示了项目打包部署方法,并指导使用Spring Initializer快速初始化项目结构。文中包含具体代码示例和配置说明,适合SpringBoot初学者快速入门。 阅读详情

相关推荐

基于Spring Boot和Spring Cloud实现微服务架构学习(一)-Spring框架介绍

基于Spring Boot和Spring Cloud框架开发的微服务架构学习(一)-Spring框架介绍总结 看了几周Spring相关框架的书籍和官方demo,是时候开始总结下这中间的学习感悟。 首先,最想说的是,当你要学习一套最新的技术时,官网的英文文档是学习的最佳渠道。因为网上流传的多数资料是官网翻译而来,很多描述的重点也都偏向于作者自身碰到的问题,这样就很容易让你理解和操作出现偏差,最开始我就进入了这样误区。官网的技术导读真的描述的很详细,虽然对于我们看英文很费劲,但如果英文不是很差,请选

zeb_perfect的专栏 8万+

MyBatis(2)

加油

weixin_61518137的博客 1410

Spring全家桶笔记:Spring+Spring Boot+Spring Cloud+Spring MVC

最近小编整理了一下一线架构师的Spring全家桶笔记:Spring+Spring Boot+Spring Cloud+Spring MVC,分享给大家一起学习一下~ 注意:有需要免费领取一线架构师的Spring全家桶笔记的朋友,可以点击【学习】免费领取,不要错过哦~ 01 Spring Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,S...

ITjianshuzhai的博客 834

Springboot 目录结构

不是强制如此做。但不这样做可能会出现问题。且不好维护管理。大家都这样做有一定的道理。也好同步维护别人的代码。 src/main/java:主程序入口 Application,可以通过直接运行该类来 启动 Spring Boot应用 src/main/resources:配置目录,该目录用来存放应用的一些配置信息,比如应用名、服务端口、数据库配置等。由于我们应用了Web模块,因此产生了 [static](https://so.youkuaiyun.com/so/search?q=static)目录与temp.

程序员写的技术 FAQ 和杂文 3283

Spring Boot学习笔记(一)构建第一个Spring Boot项目

构建第一个Spring Boot项目 Spring Boot入门介绍: BUILD ANYTHING. Spring Boot is designed to get you up and running as quickly as possible, with minimal upfront configuration of Spring. Spring Boot takes an opini...

Stephanie17395的博客 833

Spring Boot系列十三 Spring Boot集成RabbitMQ

1. 概述之前我有一系列关于RabbitMQ文章介绍了RabbitMQ的用法,本篇我们介绍如何在Spring Boot中集成RabbitMQ。本篇主要内容如下: 在Spring boot中消息的发送和接收的两种方式的demo 配置使用MessageConverter对消息序列化 2. Demo工程公共部分介绍工程名称:rabbitmq需要在我们的工程中的pom.xml引入新jar <!-- spri

不积跬步无以至千里; 不积小流无以成江海 1万+

springboot入门(一)

spring boot初步学习 一.springboot架构初识 1.项目图示: 成功在idea中新建好了项目后,可以发现如下结构: 解析: .idea中的是project的xml配置,有maven库的配置,还有springboot之间的依赖配置 mvn只知道与maven有关,暂时不知道是个啥 src中,有main和test。 test文件夹就是一个测试类: 而main文件夹中的java...

qq_42031483的博客 483

学习Spring Boot,应该从哪里开始学起

学习Spring Boot,应该从哪里开始学起记住,学习是一个持续的过程,不要害怕遇到困难和挑战。通过不断的实践和探索,你会逐渐掌握Spring Boot的精髓。

cesske的博客 1757

springboot项目下的test目录不生效、test目录显示灰色、test目录下的java类报红

springboot项目下的test目录不生效、test目录显示灰色、test目录下的java类报红。

AVATAR 3530

Spring Boot基础学习笔记01:Spring Boot入门程序

1. 了解Spring Boot框架的优点; 2. 掌握使用Maven方式构建Spring Boot项目; 3. 掌握使用Spring Initializr方式构建Spring Boot项目

howard2005的专栏 2087

国际参考电离层2020模型Matlab(IRI-2020)

国际参考电离层 (IRI) 是一个国际项目 由空间研究委员会 (COSPAR) 和国际 无线电科学联盟 (URSI)。这些组织组成了一个工作组 (在 60 年代后期产生了电离层的经验标准模型, 基于所有可用数据源 (几个稳步改进的版本 模型已经发布。电子密度、电子温度、离子温度、 离子组成(O+、H+、He+、N+、NO+、O+2、簇离子)、赤道垂直离子漂移、垂直电离层电子含量(vTEC;

weixin_44392003的博客 4884

如何为一个springboot项目添加test模块

如何为一个springboot项目添加test模块

tfak47的博客 9046

suse ha for sap scale-up性能优化场景安装配置

suse ha for SAP安装配置

jetliu05的博客 2141

# Spring Boot 学习笔记(超级详细)学习记录(一)

Spring Boot 学习笔记(超级详细)学习记录(一) ​ 2020.3.10,今天得凌晨有超大得月亮据说四月还会有 ​ 零零碎碎写了几篇博客分享自己得学习记录,突然想把自己学习springboot得过程以及里面所涉及到的全部知识串起来。一方面供自己熟悉所学知识,另一方面可以分享给大家一起学习,当然,也希望有大佬能够点评我学习过程中的问题。(同时希望自己在毕业得时候可以从菜鸟蜕变,以后也...

zyzy123321的博客 415

高等数学/概率论/数理统计/线性代数/离散数学面试-核心概念-问题理解

特征值与特征向量是线性代数中的概念,它们与线性变换有关。在线性变换中,如果存在非零向量 v ,使得当该向量通过变换后,其方向不变,只是长度发生了变化,那么这个向量 v 就是特征向量。而这个长度变化的比例因子,即变换前后向量长度的比值,称为特征值。数学公式表示:通俗易懂的解释:想象一下,你有一个可以伸缩的橡皮筋,这个橡皮筋可以代表一个向量。现在,你有一个特殊的机器,它可以改变橡皮筋的形状,但不会改变它延伸的方向。当你把橡皮筋放入机器中,机器会拉伸或压缩橡皮筋,但橡皮筋的方向保持不变。

m0_64198455的博客 2293

VMware 安装 Windows11

一、下载win11的镜像文件 可以在MSDN网站下载: MSDN系统库-致力于原版windows生态服务 二、创建虚拟机 1.双击打开VMware虚拟机,点击创建新的虚拟机 2.选择典型(推荐),然后点击下一步 3.在安装程序光盘映像文件下,点击浏览按钮,选择Windows 11ISO镜像文件所在的路径,在Windows 11安装文件路径中不要有中文或其他特殊符号,否则有可能引起错误。然后点击下一步 4.在选择客户机操作系统界...

m0_56015193的博客 7022

Spring-Boot学习笔记

这个笔记是在自己学习的过程中根据实际用到的和学到的整理出来的,可能会有缺失,错误等,主要是给激励自己学习,遇到写不下去的情况给自己一个参考,请各位大佬发现问题提出问题时能嘴下留情,也希望多提建议,谢谢。本笔记长期更新(更新日期2024年9月21日)

2403_86693263的博客 4538

[cadence]Allegro STEP-3D模型导入、匹配、导出的方法及注意事项

如果 Avaliable里面没有和symbols对应的文件,说明没有对应的3D模型,这时候需要在你的step路径下创建y与 .dra 封装文件相同名称的。选择好 Output file 和 name 之后呢,点击 Export。首先打开Setup - Step Package Mapping。注意:路径中不能有中文名称,有的话你会发现不能导出,也不会报错。在路径下将下载或者自己做的 3D模型文件改名之后,重新打开。可在View -> 3D View。

LuDvei的博客 2万+

Spring boot学习记录

需求:使用Spring boot开发一个web应用,浏览器发起请求 /hello 后,给浏览器返回字符串 “hello world”。浏览器中输入:http://localhost:8080/hello创建一个请求处理类:HelloController浏览器中访问。

lu2925028830的博客 945

SPME/IP PPT详解

什么是中间件?它是操作系统与应用程序之间的一块代码,它对于应用程序提供了一些标准接口,屏蔽了应用程序与底层的一些交互,上层应用程序只要和中间件进行交互就可以了,这样就可以达到一个解耦的目的。SOMEIP其实是一个中间件,它是操作系统与应用程序之间的一段代码,它是可以运行在TCP/IP之上的,可以在很多平台上使用,可以适配较多的操作系统,可以提供很多接口。经过序列化之后,在网络上传输的是一些101010这样的二进制流。SOME/IP可以承接应用层的一些数据,进行打包放到传输层。

usstmiracle的博客 619

JavaScript教程-字符集,Unicode转义序列,标识符,数据类型,数字,未定义值,浮点数,字符串,引用数据类型,类型检测,类型转换,运算符,关系运算符,

前端学习

VAN 213

Spring Boot 学习笔记

Spring Boot 是由 Pivotal 团队开发的开源 Java 基础框架,用于简化 Spring 应用的开发过程。通过 Spring Boot,开发者可以轻松创建独立、生产级的 Spring 应用,而无需繁琐的配置和部署步骤。Spring Boot 内嵌了 Tomcat、Jetty 等主流 Web 容器,支持自动配置和依赖管理,极大地提高了开发效率。Spring Boot 是一个功能强大且易于使用的框架,通过简化配置和依赖管理,极大地提高了开发效率。

m0_72686196的博客 1051

静态时序分析—门控时钟检查(clock gating check)

clock gating check的条件与类型

m0_61544122的博客 9611

Spring Boot实战学习笔记(一)

摘要本文为学习Spring Boot实战的学习笔记,学习了一遍,但是好记性不如烂笔头,所以文章记录下来。图书购买地址为: https://item.jd.com/11894632.html.Spring Boot实战学习笔记1Spring Boot实战学习笔记2Spring Boot实战学习笔记3Spring Boot实战学习笔记4Spring Boot实战学习笔记51.Spring 基础1.1 ...

殘遛的博客 426

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

JAVA 后端(Spring Boot)开发学习笔记记录

spring boot 多模块开发学习笔记

m0_62454335的博客 1133

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Spring-boot-demo学习记录(一)-spring-boot 的一个 helloworld

Spring-boot-demo学习记录 文章目录 目录 Spring-boot-demo学习记录 文章目录 前言 一、项目理解 二、实现步骤 1.新建项目 2.代码编写 总结 前言 此系列博客是个人在学习springBoot的学习笔记,算是一个记录吧,一方面记录学习的内容,一方面记录学习中犯下的错误。学习springBoot选择的是GitHub上一个比较著名的项目,链接如下https://github.com/xkcoding/spring-boot-dem...

qq_31374621的博客 434
上一篇: MyBatis-Plus使用心得
下一篇: Spring Boot 学习记录笔记【 二 】
perfei焓
博客等级 码龄8年 32粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值