Spring-boot参考(二)

2024-06-22 20:38
文章标签 java spring boot 参考

本文主要是介绍Spring-boot参考(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

依赖管理

继承starter parent

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.9.RELEASE</version>
</parent>

在parent中,还定义了 其他许多 依赖的版本,如果 想要改变其中某个的话,就应该在properties中 指定其版本,如:

<properties><spring-data-releasetrain.version>Fowler-SR2</spring-data-releasetrain.version>
</properties>

其他支持的属性 可以查看,spring-boot-dependencies

不使用parent POM

可能你不想使用parent,或者已经使用了其他parent。 还有一种方法可以用到 spring boot的依赖,即:

<dependencyManagement><dependencies><dependency><!-- Import dependency management from Spring Boot --><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>1.5.9.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>

这是想要改变 spring-boot-dependencies 中的某个 库的版本号 ,应该用下面的方法, 将要改变的部分放在前面:

<dependencyManagement><dependencies><!-- Override Spring Data release train provided by Spring Boot --><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-releasetrain</artifactId><version>Fowler-SR2</version><scope>import</scope><type>pom</type></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>1.5.9.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>

spring boot 1.5.x 默认支持的JDK 1.6, 如果你想指定 1.8的话,加上一个属性

<properties><java.version>1.8</java.version>
</properties>

打包插件

spring boot提供一个 maven plugin 来生成一个可执行的包。

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
</build>

默认 mvn package 之后 生成的 文件名是 artifactId + version 如:test1-0.0.1-SNAPSHOT.jar . 如果想生成的文件名就叫 test1, 可以在build中加一个属性

    <build><finalName>test</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>

Starters

Starters 是一组 相关的包,这样做是 便于 添加依赖。
名字一般是 spring-boot-starter-* 。

spring 提供了很多starters 都在 org.springframework.boot GroupId下 ,详细见 Spring Boot application starters

spring-boot-starter-actuator 这个包在生产环境很有用,提供一些监控方面的支持

结构化代码

1 要有包名

@SpringBootApplication

这个注解的作用是,指定basePackage,这样Spring就知道去哪里扫描了。

@Configuration

被用在一些配置类上, Spring boot 不再鼓励xml的配置方式,而是使用Java代码来配置。 可以写一些单独的类,来进行配置, 这些类上,加上这个注解。

自动配置

使用
@EnableAutoConfiguration 或者 @SpringBootApplication,将开启自动配置功能。
自动配置的意思就是,如果你的classpath下有redis的包,即使你自己没有 配置redis ,Spring也会自觉的 连接 localhost:6379 ,来实例化一个RedisConnectionFactory。 这有时会很方便,有时很自以为是很讨厌。

在application.yml 中 设置 debug=true, 在Spring启动时, 会打印出 自动配置了哪些类。

有时候自动配置很讨厌,可以关闭它:

@Configuration
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
public class MyConfiguration {
}

或者使用spring.autoconfigure.exclude 属性在application.yml中。

如果Bean只有一个 构造函数, 可以省略 构造函数上的 @Autowired。

@SpringBootApplication

因为 Spring boot的主函数上 总是有 @Configuration, @EnableAutoConfiguration and @ComponentScan 这三个注解, 于是Springboot 提供了一个新的注解 @SpringBootApplication 来等效表示这三个注解。

如何运行程序

1,在IDE运行,这样方便调试。

2 , 打成jar包

java -jar target/myproject-0.0.1-SNAPSHOT.jar

在生产环境时, 需要再多加一些参数,修改内存,堆栈之类。

3 用mvn运行

mvn spring-boot:run

自动重启

在开发时候 ,修改一个地方,往往需要重新启动。
增加下面这个依赖,可以自动监听 classpath下的文件,有变动时,自动重启。

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><optional>true</optional></dependency>

IDEA中,出发重启的方法是,修改完文件后 Build -> Make Project。

这篇关于Spring-boot参考(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1085359

相关文章

一文详解SpringBoot中控制器的动态注册与卸载

《一文详解SpringBoot中控制器的动态注册与卸载》在项目开发中,通过动态注册和卸载控制器功能,可以根据业务场景和项目需要实现功能的动态增加、删除,提高系统的灵活性和可扩展性,下面我们就来看看Sp... 目录项目结构1. 创建 Spring Boot 启动类2. 创建一个测试控制器3. 创建动态控制器注

Java操作Word文档的全面指南

《Java操作Word文档的全面指南》在Java开发中,操作Word文档是常见的业务需求,广泛应用于合同生成、报表输出、通知发布、法律文书生成、病历模板填写等场景,本文将全面介绍Java操作Word文... 目录简介段落页头与页脚页码表格图片批注文本框目录图表简介Word编程最重要的类是org.apach

Spring Boot中WebSocket常用使用方法详解

《SpringBoot中WebSocket常用使用方法详解》本文从WebSocket的基础概念出发,详细介绍了SpringBoot集成WebSocket的步骤,并重点讲解了常用的使用方法,包括简单消... 目录一、WebSocket基础概念1.1 什么是WebSocket1.2 WebSocket与HTTP

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

java中反射Reflection的4个作用详解

《java中反射Reflection的4个作用详解》反射Reflection是Java等编程语言中的一个重要特性,它允许程序在运行时进行自我检查和对内部成员(如字段、方法、类等)的操作,本文将详细介绍... 目录作用1、在运行时判断任意一个对象所属的类作用2、在运行时构造任意一个类的对象作用3、在运行时判断

java如何解压zip压缩包

《java如何解压zip压缩包》:本文主要介绍java如何解压zip压缩包问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java解压zip压缩包实例代码结果如下总结java解压zip压缩包坐在旁边的小伙伴问我怎么用 java 将服务器上的压缩文件解压出来,

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

Spring WebFlux 与 WebClient 使用指南及最佳实践

《SpringWebFlux与WebClient使用指南及最佳实践》WebClient是SpringWebFlux模块提供的非阻塞、响应式HTTP客户端,基于ProjectReactor实现,... 目录Spring WebFlux 与 WebClient 使用指南1. WebClient 概述2. 核心依

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注