SpringbBoot study2

本文深入解析SpringBoot中的配置文件应用、@ResponseBody与@RestController注解的使用,以及资源文件夹结构,帮助理解SpringBoot如何管理和响应数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@ResponseBody标注在类上表示这个类的所有方法返回的数据直接写给浏览器(如果是对象转为json数据)
@RestController表示@ResponseBody+@Controller

resources文件夹中的目录结构:

  • static:保存所有的静态资源:js css images;
  • templates:保存所有的模板页面(springboot默认jar包使用嵌入式的Tomcat,摩恩不支持JSP页面);可以使用模板引擎(freemaker、thymeleaf);
  • applaction.properties:配置资源文件

SpringBoot配置

  1. 配置文件:springboot使用一个全局配置,配置文件名是固定的;
    application.properties
    application.yml
    YAML文件是以数据为中心,比json、xml更适合做配置文件。
    YAML语法:
    基本语法:k:(空格)v:表示一对键值对(空格必须有);
    以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是一个层级的
    属性和值也是大小写敏感。

    值的写法:
    1.字面量:普通的值(数字、字符串、布尔)
    k:v:字面直接来写;字符串默认不用加上单引号或者双引号;
    双引号不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思;
    单引号:特殊自读最终就输出一个字符串。
    比如name:“zhangsan \n list" -----zhangsan 换行 list
    name:‘zhangsan \n list’ ------zhangsan \n list
    2.对象、Map(属性和值)(键值对):k:v对象还是k:v的形式

    friends:
    		lastName: zhangsan
    		age: 20
    

    行内写法:

    frinends: {lastName: zhangsan,age: 18}
    

    3.数组(List、Set):
    用-值表示数组中的一个元素

    names:
      - jennie
      - channel
      - jackson
    

    行内写法:

    names: [jennie,channel,jackson]
    

    yml文件属性的获取:
    @ConfigurationProperties(prefix=“”):告诉Springboot将本类中的所有属性和配置文件中相关的配置进行绑定,只有这个组件是容器中的组件才能使用容器中提供的@ConfigurationPorperties功能;
    导入配置文件处理器,配置文件进行绑定就会有提示

    <!--导入配置文件处理器。配置文件进行绑定就会有提示-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
    

    porperties文件编码:
    idea默认使用utf-8编码,porperties默认GBK编码,在setting-》file encodings修改成utf-8
    并勾选Transparent native to ASCII
    在这里插入图片描述
    配置文件的作用:修改springboot配置的默认值;
    SpringBoot在底层都给我们自动配置好;

    SpringBoot单元测试:可以在测试期间很方便的类似编码编码一样的进行自动注入等容器的功能。
    @Value(“${key}”)从配置文件中获取值;需要一个一个指定,不支持松散绑定;
    @Value("#{SpEL}")Spring表达式
    @ConfigurationProperties:批量注入配置文件中的属性(指定一个prefix就可以),支持松散语法(比如大小写或者横杠什么的),不支持spring表达式,支持JSR303数据校验;
    只是在某个业务逻辑中获取一项配置文件中的某项值,使用@Value
    加载指定的配置文件:
    @PropertySource(value={“classpath:xx.properties”}):加载指定的配置文件;
    @ImportResource:导入Spring的配置文件,让配置文件·的内容生效,加载进来,@ImportRescourse标注在一个配置类上。

    @ImportResource(locations = {"classpath:beans.xml"})
    

    SpringBoot推荐给容器中添加组件的方式:之前是写配置文件,现在while使用全注解的方式。定义一个配置类,类上使用注解@Configuration,指明当前类是配置类。

Python实现的CNN卷积神经网络手写数字识别项目代码+代码注释和数据集(毕业设计&期末大作业),个人经导师指导并认可通过的高分设计项目,评审分98分,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!主要针对计算机相关专业的正在做大作业、毕业设计的学生和需要项目实战练习的学习者,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 Python实现的CNN卷积神经网络手写数字识别项目代码+代码注释和数据集(毕业设计&期末大作业)Python实现的CNN卷积神经网络手写数字识别项目代码+代码注释和数据集(毕业设计&期末大作业)Python实现的CNN卷积神经网络手写数字识别项目代码+代码注释和数据集(毕业设计&期末大作业)Python实现的CNN卷积神经网络手写数字识别项目代码+代码注释和数据集(毕业设计&期末大作业)Python实现的CNN卷积神经网络手写数字识别项目代码+代码注释和数据集(毕业设计&期末大作业)Python实现的CNN卷积神经网络手写数字识别项目代码+代码注释和数据集(毕业设计&期末大作业)Python实现的CNN卷积神经网络手写数字识别项目代码+代码注释和数据集(毕业设计&期末大作业)Python实现的CNN卷积神经网络手写数字识别项目代码+代码注释和数据集(毕业设计&期末大作业)Python实现的CNN卷积神经网络手写数字识别项目代码+代码注释和数据集(毕业设计&期末大作业)Python实现的CNN卷积神经网络手写数字识别项目代码+代码注释和数据集(毕业设计&期末大作业)Python实现的CNN卷积神经网络手写数字识别项目代码+代码注释和数据集(毕业设计&期末大作业)Python实现的CNN卷积神经网络手写数字识别项目代码+代码注释和数据集(毕业设计&期末大作业)Pyth
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值