SpringBoot手册

2 篇文章 0 订阅
订阅专栏
文章详细阐述了SpringBoot的依赖管理,自动配置机制,以及如何整合SpringMVC、Mybatis、Redis等技术。同时,讨论了SpringBoot的异常处理、静态资源处理、文件上传配置和服务器定制。此外,还提到了Actuator的监控端点和配置,以及配置文件的使用和优先级。
摘要由CSDN通过智能技术生成

依赖管理

  • 每个刚创建的 SpringBoot 项目的 pom 文件都有spring-boot-starter-parent依赖,然后它还有一个父依赖spring-boot-dependencies
  • spring-boot-dependencies 决定了 SpringBoot 项目的依赖版本,但是如果不遵循也是可以的,可以自己导入新的依赖版本
  • 如果遵循 SpringBoot 的版本,引入相应的依赖的时候,依赖的坐标就可以不标明版本号了

关于各种的 start 依赖

  • 导入这些 start 依赖,就是导入了和这个 start 依赖 有关的组件的所有相关依赖,然后再通过 SpringBoot 的自动配置,做到开箱即用

关于自动配置

  • 自动配置主要看 启动类 的注解 @SpringBootApplication,其中最主要的是注解 @EnableAutoConfiguration,这个注解又包含@AutoConfigurationPackage、@Import(AutoConfigurationImportSelector.class)
  • @AutoConfigurationPackage包含@Import(AutoConfigurationPackages.Registrar.class),其中AutoConfigurationPackages.Registrar.class的作用就是得到 启动类 所在的包路径,然后扫描包路径下的所有 类 ,该添加到容器的添加,不该添加的忽略
  • @Import(AutoConfigurationImportSelector.class)的关键就是AutoConfigurationImportSelector.class,这个类是实现自动配置的主要入口,主要的逻辑顺序是org.springframework.boot.autoconfigure.AutoConfigurationImportSelector#getCandidateConfigurations>org.springframework.core.io.support.SpringFactoriesLoader#loadFactoryNames>org.springframework.core.io.support.SpringFactoriesLoader#loadSpringFactories
  • 经过上面的调用步骤,最终关键的就是classLoader.getResources("META-INF/spring.factories"),所以实现自动配置,就是扫描引入依赖的类路径下的spring.factories中的内容,这个文件中的类容就是各种配置类
    在这里插入图片描述
  • 随便点开一个自动配置类,就会发现各种@Bean、@Conditional、@EnableConfigurationProperties、@ConditionalOnMissingBean...,这些注解就是自动配置的关键,满足条件就会注册到容器中,并且还会带默认的配置,这就是开箱即用,约定大于配置

关于约定大于配置中的配置

  • 前面已经知道自动配置的来源就是各种自动配置类,以 SpringMVC 的相关的自动配置类 WebMvcAutoConfiguration 为例,可以观察到类似@EnableConfigurationProperties({WebProperties.class})、@ConditionalOnProperty( prefix = "spring.mvc.problemdetails", name = {"enabled"},havingValue = "true" )、@ConditionalOnProperty(prefix = "spring.mvc.formcontent.filter", name = {"enabled"},matchIfMissing = true)...
  • 通过这样带有配置关键字的注解,可以发现要么在注解上就标明了配置内容和默认值,要么就是通过 xxxProperties 这样的类,其中内容也大多是如图所示的内容,可以发现就是一些配置文件里面的内容,如果没有配置也会有默认值
    在这里插入图片描述

SpringBoot 整合 SpringMVC

定制化 SpringMVC

  • 定制化功能,主要通过观察 SpringMVC 的自动配置类
  • 通过实现 WebMvcConfigurer 接口作为配置类,添加自定义的功能
    在这里插入图片描述
  • 通过在配置类中 创建 HiddenHttpMethodFilter 的实例到容器,自定义 HiddenHttpMethodFilter
    • 需要先开启配置spring.mvc.hiddenmethod.filter.enabled=true
  • 在配置类上使用 @EnableWebMvc 意味着完全自定义 SpringMVC 相当于回到最原始的 web 程序开发

静态资源处理

  • 静态资源处理,已经默认开启spring.resources.add-mappings=true
  • 默认的静态资源路径如下,参照 自动配置类 WebMvcAutoConfiguration 引入了 webMvcProperties 的属性配置
    在这里插入图片描述
  • 自定义静态资源路径spring.resources.static-locations={ "classpath:/META-INF/resources/","classpath:/resources/", "classpath:/static/", "classpath:/public/" }
  • 自定义静态资源请求路径映射spring.mvc.static-path-pattern="/**",默认就是"/**"
  • 让客户端缓存静态资源spring.resources.cache.period=10000单位是s

对上传文件的处理

  • SpringBoot 默认已经配置好 文件上传需要的 依赖和配置
  • 但是还是要设置文件的大小配置的
# 单个文件的最大限制
spring.servlet.multipart.max-file-size=10MB
# 整个请求的最大限制
spring.servlet.multipart.max-request-size=100MB

在这里插入图片描述

对异常的处理

  • 对异常的处理,SpringBoot 已经有了默认的配置
    • 直接 在静态资源路径 添加 错误码.html,如5xx.html,就对应5开头的错误码,比如500,这种方式利用了默认配置,改变的只是错误的展示页面,使用的是 DefaultHandlerException—>DefaultErrorViewResolver
    • 直接 创建一个 名字是 ErrorController 的处理器,这种方式,错误的处理和页面跳转完全由开发者控制
    • 直接 在配置类中 创建一个 ErrorAttributes 的实例,这种方式只是修改了错误的提示信息,依然还是使用 DefaultHandlerException—>DefaultErrorViewResolver
      在这里插入图片描述
    • 自定义实现 HandlerExceptionResolver 处理异常,可以作为默认的全局异常处理规则
    • @ControllerAdvice+@ExceptionHandler处理全局异常,底层是 ExceptionHandlerExceptionResolver 支持的
/**
 * 处理整个web controller的异常
 */
@Slf4j
@ControllerAdvice
public class GlobalExceptionHandler {

    @ExceptionHandler({ArithmeticException.class,NullPointerException.class})  //处理异常
    public String handleArithException(Exception e){

        log.error("异常是:{}",e);
        return "login"; //视图地址
    }
}
  • @ResponseStatus + 自定义异常,实际上是交给ResponseStatusExceptionResolver处理,最终由 Tomcat 发送错误信息返回前端,只改变了错误信息,而且使用的是最原始的 Tomcat 错误页面
@ResponseStatus(value= HttpStatus.FORBIDDEN,reason = "用户数量太多")
public class UserTooManyException extends RuntimeException {

    public  UserTooManyException(){

    }
    public  UserTooManyException(String message){
        super(message);
    }
}

Web原生组件注入(Servlet、Filter、Listener)

  1. 通过注解 @WebFilter、@WebServlet、@WebListener
  2. 通过 Servlet、Filter、Listener 它们的子类,然后在配置类中通过ServletRegistrationBean注册

Interceptor 自定义拦截器

  • 自定义的拦截器,对于自定义的 servlet 不起作用,因为 拦截器起作用是建立在 DispatcherServlet 的代码逻辑上的 org.springframework.web.servlet.DispatcherServlet#doDispatch ---> org.springframework.web.servlet.HandlerExecutionChain#applyPreHandle

DispatcherServlet 配置映射路径

  • 在 SpringBoot 中 DispatcherServlet 通过 DispatcherServletAutoConfiguration-->DispatcherServletRegistrationBean-->ServletRegistrationBean完成注册到容器,使用的是 webMvcProperties 的属性配置
  • 修改映射路径 spring.mvc.servlet.path="/",默认配置也是"/"

定制 内嵌的 服务器

  • 程序启动会创建一个 web 版的IoC容器 ServletWebServerApplicationContext ,其逻辑是org.springframework.boot.web.embedded.xxxxx.xxxxServletWebServerFactory#getWebServer<---org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext#getWebServerFactory<--ServletWebServerFactory
  • xxxx就是下面步骤获得的服务器工厂的服务器名
  • org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration--->org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryConfiguration-->根据导入的依赖决定是那种服务器的 ServletWebServerFactory
  • 其中服务器工厂的自动配置类,决定了我们对服务器的个性化配置的方式,要么修改配置文件ServerProperties、要么模仿 ServletWebServerFactoryCustomizer 实现 org.springframework.boot.web.server.WebServerFactoryCustomizer#customize
    在这里插入图片描述
  • SpringMVC 的 start 默认是导入 Tomcat 依赖的,如果想要换服务器,应该先排除 Tomcat 依赖,再导入其它服务器的依赖
    在这里插入图片描述

定制化总结

在这里插入图片描述

SpringBoot 整合 Mybatis

  • 在不使用多数据源的情况下,直接从 github 上导入依赖mybatis-spring-boot-starter
  • 通过依赖中的 自动配置类 配置相关的属性,通过观察自动配置类,发现 会自动扫描 加了 @Mapper 的 Mapper 接口,并注册代理对象到容器中,也可以通过在配置类or启动类上添加@MapperScan,避免每个 Mapper 接口都要加 @Mapper
  • 两种配置方式:1.配置文件(xm,config-location 指明位置)、2.配置文件(yum/properties,configuration类),两种方式只能选择一种
# 配置mybatis规则
mybatis:
#  config-location: classpath:mybatis/mybatis-config.xml
  mapper-locations: classpath:mybatis/mapper/*.xml
  configuration:
    map-underscore-to-camel-case: true
  • 可以实现全注解开发,不需要映射文件(xml),直接在 Mapper 接口的方法上添加对应的注解,如@Select对应映射文件中select标签、@Option对应各种语句标签的属性,如@Option(useGeneratedKeys = true,keyProperty = "id")

SpringBoot 整合 MybatisPlus

  • 从 MybatisPlus 官网获得 mybatis-plus-boot-starter
  • 通过依赖中的 自动配置类 定制化配置,查看方法大体上和 Mybatis 的方法相同,不过关于mapperLocations,MybatisPlus 做了默认配置
  • MybatisPlus 提供了 BaseMapper、IService、Ipage等便利的类
  • 分页功能,需要添加配置类

SpringBoot 整合 redis

  • 通过 spring-boot-starter-data-redis
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-pool2</artifactId>
</dependency>
  • 查看 RedisAutoConfiguration 实现定制化
  • 观察 RedisAutoConfiguration 发现 除了支持 redisTemplate、stringTemplate,还支持 Jedis、Lettuce,只需要导入响应的依赖即可
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
</dependency>
  • 因为 spring-boot-starter-data-redis 底层用的就是 Lettuce,所以如果使用 Lettuce,可以直接修改 配置项 spring.redis.client-type=lettuce
  • 使用 Jedis 除了依赖 也需要修改 spring.redis.client-type=jedis

SpringBoot 整合 Junit5

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-test</artifactId>
  <scope>test</scope>
</dependency>

在这里插入图片描述
在这里插入图片描述

<dependency>
    <groupId>org.junit.vintage</groupId>
    <artifactId>junit-vintage-engine</artifactId>
    <scope>test</scope>
    <exclusions>
        <exclusion>
            <groupId>org.hamcrest</groupId>
            <artifactId>hamcrest-core</artifactId>
        </exclusion>
    </exclusions>
</dependency>

SpringBoot Actuator

  • 未来每一个微服务在云上部署以后,我们都需要对其进行监控、追踪、审计、控制等。SpringBoot就抽取了Actuator场景,使得我们每个微服务快速引用即可获得生产级别的应用监控、审计等功能
  • 引入依赖
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Actuator Endpoint 监控端点

  • 更多详情,参考官网
    在这里插入图片描述在这里插入图片描述

监控端点的管理和查看

  • 支持的暴露方式
    • HTTP:默认只暴露 health 和 info Endpoint
      • 通过浏览器访问 http://项目IP:项目端口号/actuator/EndpointName/DetailName
      # 以 web 方式暴露所有端点
      management.endpoints.web.exposure.include='*'
      # web 方式下,不暴露任何端点
      management.endpoints.web.exposure.exclude='*'
      
    • JMX:默认暴露所有 Endpoint
      • 可以通过 jconsole 等JMX客户端工具查看配置项的值
  • 配置可以访问的监控端点,除了 health 和 info,剩下的Endpoint都应该进行保护访问。如果引入SpringSecurity,则会默认配置安全访问规则
management:
  endpoints:
  	# 禁用所有的 Endpoint(web、JMX 方式下),默认是开启所有的监控端点(JMX 方式下)
    enabled-by-default: false
  endpoint:
  	# 然后手动开启指定的 Endpoint
    beans:
      enabled: true
    health:
      enabled: true
  • 暴露某个端点的详细信息
management:
  endpoint:   #对某个端点的具体配置
    health:
      show-details: always
      enabled: true

常用监控端点

  • Health:监控状况
    在这里插入图片描述

  • Metrics:运行时指标
    在这里插入图片描述
    在这里插入图片描述

  • Loggers:日志记录

定制 Endpoint

  • 定制 Health 信息,需要组件的命名是 XXXHealthIndicator 并且 implements HealthIndicator
  • 定制info信息,有两种方式,两种方式可以一起使用,也会被一起展示
    • 通过配置文件,在 info 端点下增加 k-v
    info:
      appName: boot-admin
      appVersion: 1.0.0
      # 读取 maven 中的配置信息
      mavenProjectName: @project.artifactId@
      mavenProjectVersion: @project.version@
    
    • 通过自定义组件,需要 implements InfoContributor
  • 定制 Metrics
  • 定制 Endpoint

可视化示例

https://github.com/codecentric/spring-boot-admin

关于配置文件(外部化配置)

profile

  • 默认配置文件 application.yaml/properties,任何时候都会加载生效
  • 指定环境的配置文件(profile) application-{env}.yaml/properties,根据默认配置文件中的 spring.profiles.active=env 决定是哪个环境的配置文件(profile)与默认配置文件一起生效
  • 配置文件(profile)分组,可以指定一组配置文件(profile)同时生效,如下所示,此时除了默认配置文件生效,指定的配置文件组中的两个配置文件(profile)也会生效
spring.profiles.group.production[0]=proddb
spring.profiles.group.production[1]=prodmq
使用:--spring.profiles.active=production  激活
  • 有同名的配置项时,指定生效的 profile 会覆盖其它 profile、默认配置文件的同名配置项
  • @Profile用于指定 类 或 方法 在什么 profile 生效的情况下才可以被正常使用,如@Profile(value = {"prod","default"}),表示只有在 application-{prod}.yaml/properties 生效 或 application.yaml/properties 生效 或 二者同时生效的三种情况下,该注解所在的 类 或 方法 才可以被正常使用,对于除这三种情况以外的其它 profile 生效 时,该注解所在的 类 或 方法 是不可以被使用的

配置文件的位置和优先级

  • classpath 根路径
    • 根路径,就是 resource、java 包路径下
  • classpath 根路径下config目录
  • jar 包当前目录
  • jar 包当前目录的 config 目录
  • 在前一种情况的基础上,config 目录的直接子目录
    • 仅 Linux 系统下生效
  • 当这多个位置同时存在配置文件时,越是往下的情况优先级越高,优先级低的将会不起作用

配置的来源

  • 配置内容除了来自配置文件,还可以来自 环境变量、命令行 等
  • 更多的配置来源,参考官网
  • 比较常用的配置来源也有优先级:命令行 > 环境变量 > 前面所说的配置文件
  • 获取所有的配置项,如下所示
// run 就是上下文环境对象,ApplicationContext run

ConfigurableEnvironment environment = run.getEnvironment();

Map<String, Object> systemEnvironment = environment.getSystemEnvironment();

Map<String, Object> systemProperties = environment.getSystemProperties();

读取配置项的值

  • 通过@ConfigurationProperties + @Component,配置文件中 a.aa.aaa="hello"
//@ConfigurationProperties(prefix = "a.aa")
@ConfigurationProperties("a.aa")
@Component
@Data // 重要,配置项注入到属性,就是根据set方法
public class A {
    private String aaa;
    
}
  • 通过 @ConfigurationProperties + @EnableConfigurationProperties,配置文件中 a.aa.aaa="hello"
//@ConfigurationProperties(prefix = "a.aa")
@ConfigurationProperties("a.aa")
//@Component
@Data // 重要,配置项注入到属性,就是根据set方法
public class A {
    private String aaa;

}

@Configuration
@EnableConfigurationProperties(A.class)
public class AConfig {
}
  • 通过 @Value
// 读取系统环境变量配置
@Value("${MAVEN_HOME}")
private String msg; 

// 读取系统配置
@Value("${os.name}")
private String osName; 

// 当配置文件没有设置 person.name 时,取默认值 李四,赋值给 name
@Value("${person.name:李四}") 
private String name;

自定义 start

在这里插入图片描述

  • start 依赖其中是没有内容的,其主要的作用就是引入这个 start 组件需要的各种依赖,以及最重要的 autoconfigure 依赖
  • autoconfigure 依赖中,有这个组件的 xxxAutoConfiguration (自动配置类都在 META-INF/spring.factories 中列出来)、配置相关的 xxxxProperties
  • 只要第三方,引入了 这个 start,就可以自动配置这个组件相关的各种配置项和依赖

关于 SpringBoot 启动

  • SpringApplication.run(当前所在类的类名.class, args),分成两步,一步是创建SpringApplication对象,一步是调用run方法

在这里插入图片描述在这里插入图片描述在这里插入图片描述

这是一篇优雅的Springboot2.0使用手册
weixin_34037173的博客
08-07 2361
最近再研究springboot的原理
超详细的Spring Boot手册,从基础入门到实战进阶!
m0_71777195的博客
10-06 2114
SpringBoot 只要很少的Spring配置⽂件(例如那些xml, property)就可以启动,这是因为它秉承了习惯优先于配置这一原则, 使得SpringBoot在快速开发应⽤和微服务架构实践中得到⼴泛应⽤,第一章节主要讲述如何快速启动一个SpringBoot项目。入门1入门2。
一. 初始 Spring Boot
最新发布
weixin_61635597的博客
08-27 1670
Spring Boot 帮我们简单,快速地创建一个独立的,生产级别的Spring 应用(从这一点上我们可以知道一点就是:**Spring Boot底层是 Spring ** )。如何运行第一个 Spring Boot 程序Spring BootSpringSpring MVC 三者之间的关系。“在这个最后的篇章中,我要表达我对每一位读者的感激之情。你们的关注和回复是我创作的动力源泉,我从你们身上吸取了无尽的灵感与勇气。我会将你们的鼓励留在心底,继续在其他的领域奋斗。
springboot中文手册
12-05
springboot中文操作手册,适合对springboot感兴趣的人参考。
spring-boot-中文参考手册
12-04
spring-boot-中文参考手册
SpringBoot中文参考手册
10-25
Spring Boot开发手册中文版,内容全面,适合初学者学习用
SpringBoot官方文档手册
12-15
SpringBoot官方文档手册.pdf
SpringBoot使用手册
fzt12138的博客
07-06 1247
在之前的文章中已经专门写过,这里不做赘述。在学习完maven项目后,我们学习框架时首先阅读的就是pom.xml文件,这里是管理自己该项目中所用到的jar包。学习SpringBoot时也是一样,在创建好一个项目后,我们首先先浏览一下pom.xml。 打开这个文件后,我们首先就能看到上面这串代码,这个和我们之前学习的不太一样,仔细阅读后可以发现,这时导入Springboot父依赖的代码。什么是父依赖?当我们按住ctrl,鼠标点击这个依赖,可以发现我们又进入了一个pom文件,在这里,我们又能看到一个父依赖。 再次
spring-boot-中文参考手册 SpringBoot中文文档 springboot 中文 文档
07-15
spring-boot-中文参考手册 SpringBoot中文文档 springboot 中文 文档 SpringBoot 帮助您创建可以独立运行的、基于 Spring 的生产级应用程序。我们对 Spring 平台和第三方库有自己的看法,所以您可以从最简单的开始。...
springboot中文参考指南
10-29
SpringBootJava领域的一款热门框架,它由Pivotal团队维护,旨在简化Spring应用的初始搭建以及开发过程。SpringBoot的核心理念是“约定优于配置”,它内置了Tomcat服务器,可以快速构建可执行的JAR或WAR包,无需...
SpringBoot学习手册
大脸猫脸大
11-26 329
IDEA右键新建时没有Java Class选项
Spring Boot 中文文档 参考手册 中文版.pdf
05-26
版权所有©2012-2018 本文档的副本可供您自己使用并分发给他人,前提是您不对此类副本收取任何费用,并且每份副本均包含本版权声明,无论是以印刷版还是电子版分发。
SpringBoot新手学习手册
01-08
文档内容 一、 Spring介绍 1 1.1、SpringBoot简介 1 1.2、系统要求: 1 1.3、SpringBootSpringMVC区别 1 1.4、SpringBootSpringCloud区别 2 1.5常见错误 2 二、快速入门 2 2.1、创建一个Maven工程 2 2.2、pom文件引入依赖 3 2.3、编写HelloWorld服务 3 2.4、@RestController 4 2.5、@EnableAutoConfiguration 4 2.6 SpringApplication.run(HelloController.class, args); 4 2.7、SpringBoot启动方式1 4 2.8、SpringBoot启动方式2 4 2.9、SpringBoot启动方式3 5 三、 Web开发 5 3.1、静态资源访问 5 3.2、渲染Web页面 5 3.3、使用Freemarker模板引擎渲染web视图 6 3.3.1、pom文件引入: 6 3.3.2、后台代码 6 3.3.3、前台代码 6 3.3.4、Freemarker其他用法 7 3.3.5、Freemarker配置 8 3.4、使用JSP渲染Web视图 8 3.4.1、pom文件引入以下依赖 8 3.4.2、在application.properties创建以下配置 9 3.4.3、后台代码 9 3.5、全局捕获异常 10 四、 数据访问 10 4.1、springboot整合使用JdbcTemplate 10 4.2、springboot整合使用mybatis 12 4.3、springboot整合使用springjpa 18 4.4、springboot整合多数据源 19 五、 事物管理 25 5.1.1SpringBoot整合事物管理 25 5.1.2SpringBoot分布式事物管理 25 六、 日志管理 30 6.1使用log4j记录日志 30 6.2使用AOP统一处理Web请求日志 32 6.3Spring Boot集成lombok让代码更简洁 33 七、 缓存支持 35 7.1注解配置与EhCache使用 35 7.2使用Redis集成缓存 37 八、 热部署 37 8.1 什么是热部署 37 8.2 项目演示案例 37 8.3 热部署原理 37 8.4 Devtools依赖 38 8.5 Devtools原理 38 九、 监控管理 38 Actuator监控应用 38 Maven依赖 38 YML配置 39 Actuator访问路径 40 Admin-UI分布式微服务监控中心 40 Admin-UI-Server 40 Admin-UI-Client 41 十、 性能优化 43 组件自动扫描带来的问题 43 将Servlet容器变成Undertow 44 SpringBoot JVM参数调优 44 十一、 2.0版本新特性 45 以Java 8 为基准 45 内嵌容器包结构调整 45 Servlet-specific 的server properties调整 45 Actuator 默认映射 46 Spring Loaded不再支持 46 支持Quartz Scheduler 46 OAuth 2.0 支持 46 支持Spring WebFlux 46 版本要求 46 十二、 其他内容 47 12.1、使用@Scheduled创建定时任务 47 12.2、使用@Async实现异步调用 47 12.3、自定义参数 49 12.4、多环境配置 50 12.5、修改端口号 50 12.6、SpringBoot yml 使用 50 12.7、SpringBoot整合拦截器 51 12.8、发布打包 52
spring-boot-中文参考手册(2.0)
10-29
感觉这个翻译的还行,我是想传免费的,但是不知道怎么在CSDN上传免费的,下面留一个百度网盘的地址,请随意下载https://pan.baidu.com/s/14q6G4iSGPJGpcfjp06tDOg
spring-boot中文手册
04-07
spring-boot中文参考手册
Spring Boot中文文档(官方文档翻译 基于1.5.2.RELEASE)
热门推荐
geekidentity
04-06 8万+
Spring Boot官方文档中文翻译(更新至 26. 日志)
Springboot的入门手册
qq_45280030的博客
07-26 418
springboot创建、处理请求、参数传递
Spring Boot中文手册(2):使用Spring Boot
tearofthemyth的专栏
01-28 743
“ 该系列的文章主要参考Spring Boot官方文档来进行翻译,逐步将官方文档翻译过来,方便大家共同学习和讨论,但是毕竟能力有限,如有问题,感谢大家留言指正。” 本章将更深入地带大家了解如何使用Spring Boot的细节。包括构建系统、自动配置以及如何启动你的应用。同时也会给大家介绍一些Spring Boot的最佳实践。虽然Spring Boot并没有什么特别与众不同的地方(只是另一个你...
写文章

热门文章

  • 数据库集群 3756
  • Java跨模块调用 3320
  • JVM之启动参数 2184
  • FD与Socket与IO 2155
  • SpringBoot手册 1976

分类专栏

  • Linux 与 中间件 5篇
  • 工具与工具jar 4篇
  • 并发编程 2篇
  • 消息队列 1篇
  • JVM 10篇
  • 网络编程与Netty 7篇
  • Java核心 11篇
  • MySQL 3篇
  • JavaWeb 1篇
  • Spring系列 2篇

最新评论

  • FD与Socket与IO

    确实是小萌新: 写的很好 很有帮助 谢谢

  • Java常用类与枚举类

    peter fuck code: 俊子哥表情包

  • 数据库相关基础

    CSDN-Ada助手: Apache Airflow 编排和监控工作流系统用过么?好奇它好用不?

最新文章

  • Zookeeper
  • UML类图与设计模式/原则
  • 网络编程与netty
2023年20篇
2022年10篇
2021年17篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家鹿玻璃钢雕塑定做六安玻璃钢雕塑厂福建大型商场创意商业美陈价格四川主题商场美陈市场报价石龙玻璃钢花盆花器福永商场美陈装饰金昌公园玻璃钢雕塑设计白坭玻璃钢人物雕塑工艺精湛沈阳珠海玻璃钢动物雕塑重庆玻璃钢雕塑制作厂家南通商场中秋美陈南阳玻璃钢酒店人物雕塑朝阳商场美陈装饰如何装饰盐田玻璃钢造型雕塑玻璃钢花盆种什么花吉林玻璃钢吉祥物雕塑清远玻璃钢雕塑有哪些合肥做玻璃钢雕塑佛山玻璃钢卡通雕塑定制厂家河南常见商场美陈销售新区玻璃钢雕塑欧式人物南岗玻璃钢雕塑厂广州商场美陈报价宿州玻璃钢雕塑制作公司肇庆玻璃钢景观人物雕塑水景玻璃钢雕塑曲靖玻璃钢雕塑定制海口玻璃钢雕塑产品厂家咨询河南玻璃钢人物雕塑价格如何卡通人玻璃钢雕塑摆件研发公司香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化