Spring Boot学习

这篇具有很好参考价值的文章主要介绍了Spring Boot学习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Spring Boot 配置

同一目录下配置文件优先级:.properties > .yml > .yaml

Spring Boot学习,spring boot,java,spring,Powered by 金山文档
Spring Boot学习,spring boot,java,spring,Powered by 金山文档
Spring Boot学习,spring boot,java,spring,Powered by 金山文档

错误:org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1

Caused by: java.nio.charset.MalformedInputException: Input length = 1

at java.nio.charset.CoderResult.throwException(CoderResult.java:281)

at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:339)

at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)

at java.io.InputStreamReader.read(InputStreamReader.java:184)

at org.yaml.snakeyaml.reader.UnicodeReader.read(UnicodeReader.java:125)

at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:183)

... 43 common frames omitted

分析:

首先,文件没有问题。因为在idea里面运行项目是可以正常运行的。在打包后通过java命令运行才出现问题。

其次,input length = 1,一般出现为文件解析问题,尤其是内容无法解析或解析有误。而charset.MalformedInputException的出现,则可初步定性为编码问题。

原文链接:https://blog.csdn.net/lalalove_yaya/article/details/118190201

解决办法:

将项目编码都设置为UTF-8,并重新编写带有中文的配置文件(或者将文件编码改为UTF-8)

Spring Boot学习,spring boot,java,spring,Powered by 金山文档

异常: Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause

我是忘记了在controller类里加@Autowired

其他情况的对应解决办法 请看原文链接: http://t.csdn.cn/Sjyfb


Spring Boot读取配置文件内容的三种方式

分别为:Environment类、@Value注解以及@ConfigurationProperties注解。

Environment 是 SpringCore 中的一个用于读取配置文件的类,将此类使用 @Autowired 注入到类中就可以使用它的getProperty方法来获取某个配置项的值。
使用 @Value 读取配置文件
这种方法适用于对象的参数比较少的情况
我们可以直接在对象的属性上使用 @Value 注解,同时以 ${} 的形式传入配置文件中对应的属性。同时需要在该类的上方使用 @Configuration 注解,将该类作为配置
文件加入,在启动项目的时候实现注入。
结论:其实 @Value底层就是Environment.java
使用 @ConfigurationProperties 读取配置文件
如果对象的参数比较多情况下,推荐使用 @ConfigurationProperties 会更简单一些,不需要在每一个字段的上面的使用@Value注解。
@ConfigurationProperties注解声明当前类为配置读取类
prefix="rabbitmq" 表示读取前缀为rabbitmq的属性

这里有一点需要注意: 必须保证属性名称和字段一模一样,且类需要提供字段的setter方法
注意 如果仅仅只是使用了 @ConfigurationProperties 注解是没有效果的,它并不会将这个配置注入容器中,它还需要和注入容器的注解一起使用。
这里有两种方法实现将它注入到容器中
1、类上添加@Configuration注解
除了@Configuration,也可以是@Controller、@RestController、@Service、@Componet等注解,加入到Ioc容器里。
示例:
@Setter
@Configuration
@ConfigurationProperties(prefix = "rabbitmq")
public class RabbitmqProperties {
private String host;
private String port;
private String username;
private String password;
}
同样哪里需要用到,通过 @Autowired 注入进去就可以获取属性值了

常用的几种数据结构配置读取看下面文章

原文链接:https://blog.csdn.net/Huangjiazhen711/article/details/127084934


问题:idea中出部分文件提示“spring boot Configuration Annotation Processor not configured"。

原因:

提示说明没有配置springboot的自动配置注解处理器,即spring-boot-configuration-processor。

在使用到ConfigurationProperties注解时无法识别。

解决:在pom中增加spring-boot-configuration-processor组件,状态变为正常。

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

原文链接:http://t.csdn.cn/gOSV4


profile动态配置切换

Spring Boot学习,spring boot,java,spring,Powered by 金山文档
Spring Boot学习,spring boot,java,spring,Powered by 金山文档
  1. 多个profile文件方式

Spring Boot学习,spring boot,java,spring,Powered by 金山文档

2、yml多文档方式:(旧的已弃用)

Spring Boot学习,spring boot,java,spring,Powered by 金山文档

新的用法:

Spring Boot学习,spring boot,java,spring,Powered by 金山文档

3、虚拟机参数方式:-Dspring.profiles.active=pro (可以覆盖文件方式)

Spring Boot学习,spring boot,java,spring,Powered by 金山文档

4、命令行参数方式:--spring.profiles.active=test

Spring Boot学习,spring boot,java,spring,Powered by 金山文档

5、外部参数激活(可以不改变原有代码)

执行maven的package命令打包成jar包,

Spring Boot学习,spring boot,java,spring,Powered by 金山文档
Spring Boot学习,spring boot,java,spring,Powered by 金山文档

在D:\IdeaProjects\SpringBoot\springboot-profiles\target\目录下,按住shift并右键,打开PowerShell窗口

Spring Boot学习,spring boot,java,spring,Powered by 金山文档

在运行时,指定一些参数

如改变tomcat端口

按住ctrl + c 进入下一行命令,

输入java -jar .\springboot-profiles-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev

Spring Boot学习,spring boot,java,spring,Powered by 金山文档
Spring Boot学习,spring boot,java,spring,Powered by 金山文档

外部配置加载顺序:(官网:Core Features (spring.io))


整合第三方技术

整合junit

Spring Boot学习,spring boot,java,spring,Powered by 金山文档
Spring Boot学习,spring boot,java,spring,Powered by 金山文档

整合MyBatis文章来源地址https://www.toymoban.com/news/detail-597079.html

Spring Boot学习,spring boot,java,spring,Powered by 金山文档
Spring Boot学习,spring boot,java,spring,Powered by 金山文档
Spring Boot学习,spring boot,java,spring,Powered by 金山文档
Spring Boot学习,spring boot,java,spring,Powered by 金山文档

到了这里,关于Spring Boot学习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【官方中文文档】Mybatis-Spring #搭配 Spring Boot

    请查看 MyBatis Spring-boot-starter 子项目获取更多信息。

    2024年02月11日
    浏览(12)
  • Spring Boot 生产就绪中文文档-上

    本文为官方文档直译版本。原文链接 由于篇幅较长,遂分两篇。下半部分中文文档 Spring Boot 包含大量附加功能,可帮助您在将应用程序推向生产时对其进行监控和管理。您可以选择使用 HTTP 端点或 JMX 来管理和监控应用程序。审计、健康状况和指标收集也可自动应用于您的应

    2024年01月23日
    浏览(8)
  • Spring Boot集成JasperReport生成文档

    Spring Boot集成JasperReport生成文档

    由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲染生成PDF文档。 一、使用Ireport designer 5.6设计模板 ireport的使用由于时间关系不便多说,设计好之后,将其进行编译生成jasper文件,然后将

    2024年02月09日
    浏览(8)
  • “从零开始学习Spring Boot:快速搭建Java后端开发环境“

    标题:从零开始学习Spring Boot:快速搭建Java后端开发环境 摘要:本文将介绍如何从零开始学习Spring Boot,并详细讲解如何快速搭建Java后端开发环境。通过本文的指导,您将能够快速搭建一个基于Spring Boot的Java后端开发环境并开始编写代码。 正文: 一、准备工作 在开始之前,

    2024年02月15日
    浏览(15)
  • Spring Boot入门(16):Spring Boot 整合 Swagger-UI 实现在线API接口文档 | 超级详细,建议收藏

    Spring Boot入门(16):Spring Boot 整合 Swagger-UI 实现在线API接口文档 | 超级详细,建议收藏

            在现代化的软件开发中,API接口文档的编写和管理是非常重要的一环。而Swagger-UI作为一款优秀的API文档生成工具,可以帮助开发者轻松地生成并管理API接口文档,提高开发效率和代码质量。在本文中,我们将介绍如何使用Spring Boot框架和Swagger-UI工具实现在线API接

    2024年02月16日
    浏览(13)
  • spring boot + Apache tika 实现文档内容解析

    spring boot + Apache tika 实现文档内容解析

    Apache tika 是 Apache 开源的一个文档解析工具。 Apache Tika 可以解析和提取一千多种不同的文件类型(如PPT、XLS和PDF)的内容和格式,并且 Apache Tika 提供了多种使用方式,既可以使用图形化操作页面(tika-app),又可以独立部署(tika-server)通过接口调用,还可以引入到项目中使用。

    2024年02月14日
    浏览(9)
  • Java企业级开发学习笔记(4.4)Spring Boot加载自定义配置文件

    Java企业级开发学习笔记(4.4)Spring Boot加载自定义配置文件

    创建 Spring Boot 项目 单击【创建】按钮 在 resources 里创建 myconfig.properties 文件 设置文件编码 设置学生的四个属性值 在 cn.kox.boot 包里创建config子包,在子包里创建 StudentConfig 打开自带的测试类 ConfigDemo01ApplicationTests 注入学生配置实体,创建 testStudentConfig() 测试方法,在里面输

    2024年02月08日
    浏览(15)
  • 【Spring Boot学习】Spring Boot的创建,第一个Spring Boot页面.

    【Spring Boot学习】Spring Boot的创建,第一个Spring Boot页面.

    前言: 大家好,我是 良辰丫 ,前面几篇文章,我们系统的学习了Spring框架,今天开始,我们就要学习更高级的SpringBoot框架了,不要着急哦,我们一起畅游SpringBoot框架的世界.💌💌💌 🧑个人主页:良辰针不戳 📖所属专栏:javaEE进阶篇之框架学习 🍎励志语句:生活也许会让我们遍体

    2024年02月08日
    浏览(49)
  • Spring Boot “How-to” 指南中文文档-下

    本文为官方文档直译版本。原文链接 篇幅较长,遂分两篇 Spring Security可用于保护基于Jersey的网络应用程序,其方式与保护基于Spring MVC的网络应用程序的方式基本相同。不过,如果你想在 Jersey 中使用 Spring Security 的方法级安全性,就必须将 Jersey 配置为使用 setStatus(int) 而不是

    2024年01月20日
    浏览(8)
  • Spring Boot “How-to“ 指南中文文档-上

    本文为官方文档直译版本。原文链接 篇幅较长,遂分两篇 本节解答了在使用 Spring Boot 时经常出现的 \\\"我该怎么做… \\\"的问题。虽然没有面面俱到,但也涵盖了不少内容。 如果您遇到的具体问题我们在此未涉及,您可能需要查看 stackoverflow.com,看看是否有人已经提供了答案。

    2024年01月25日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包