栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

springboot

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

springboot

文章目录
  • 前言
  • 一、配置文件
    • 1、系统配置文件
    • 2、属性配置文件
      • 1)简单使用
      • 2)其他
    • 3、profile文件
    • 4、系统配置文件加载位置及优先级
  • 二、web静态资源文件
    • 1、资源文件位置
    • 2、视图解析器
    • 3、自定义错误页面
  • 三、日志
    • 1、springboot中的日志管理
    • 2、日志打印
  • 四、集成mybatis
  • 五、自动配置
  • 总结

前言

springboot集成了web开发中的所需要的各种其他框架,只需要在pom文件中引入相应的启动器依赖即可,所有的系统配置,都是通过配置类来完成的,只需要在配置文件中赋值即可,使用统一的slf4j日志进行打印,对于web开发,是不支持JSP的,而是采用了另外一种模板引擎thymeleaf

一、配置文件 1、系统配置文件

application.yaml/yml/properties,用于系统配置,上下文路径,端口号,等等
yaml:使用:空格 赋值,具有层级关系的采用使用空格,具有同一层级的空格相同
properties:=连接属性名和属性值

2、属性配置文件 1)简单使用

在配置类中加上@ConfigurationProperties(prefix = “person”)表明会在系统配置文件中使用person前缀的属性名进行属性注入,也可使用spring注解的value("${}")进行注入,再加上@PropertySource("")指定properties配置文件,这样就是通过属性配置文件注入

@Component
@PropertySource(value={"classpath:/person.properties"})
@ConfigurationProperties(prefix = "person")
public class Person {
    //@Value("${person.userName}")
    private String userName;
    private Integer age;
    //@Value("${person.birthday}")
    private Date birthday;
    private Address address;
    private List list;
    @Override
    public String toString() {
        return "Person{" +
                "userName='" + userName + ''' +
                ", age=" + age +
                ", birthday=" + birthday +
                ", address=" + address +
                ", list=" + list +
                '}';
    }

  
//属性配置文件
person.userName=黎洋
person.age=10000
person.address.province=${person.user:default}
person.address.city=${random.uuid}
value.usr=ly
value.pwd=123456
2)其他

1)JSR303数据校验:在类上加入validated注解,在属性加上对应的数据类型@email表示数据需要符合邮箱格式,configurationproperties是支持的(成功/失败)_,而vlaue不支持(总是成功)

2)在配置文件中支持使用 取 值 , 也 可 以 使 用 一 些 函 数 {}取值,也可以使用一些函数 取值,也可以使用一些函数{random.uuid},如果取其他属性值不存在,那么默认是default,如果是int类型,那么会出错

3)SpEl:configurationproperties不支持,age:#{4+3},不行的。value支持#{4+3},写入7

4)

3、profile文件

类似这样的命令application-profile.yaml/yml/properteis,为系统配置文件多个模块,需要在系统配置文件中启动才能起作用,特别的在yaml/yml内部可以使用—以---作为多个模块的划分,第一个模块是用来启动启动模块的,其他模块的声明是spring.profiles:[profiles]

server:
  port: 8082

spring:
  profiles:
    active: ww  #启动ww模块的配置
    
---
server:
  servlet:
    context-path: /ww
spring:
  profiles: ww #声明当前模块的配置名称
4、系统配置文件加载位置及优先级

1)文件加载位置:
./config/,./,classpath:/config/,classpath:/,加载优先级由高到低,高优先级覆盖低优先级

2)文件优先级
yaml>yml>properties,高优先级覆盖低优先级

3)其他配置,
①可通过JVM参数进行配置,
②可以在打包好的jar包的同目录下,声明application-[profile]/application文件进行配置,这样的配置大于jar包里面的配置的,且application-[profile]>application
③可以在java -jar 命令中进行配置
java -jar epin.jar --server.port=5555

二、web静态资源文件 1、资源文件位置

1、默认加载路径classpath:/static/,classpath:/public/,classpath:/resource,classpath:/,classpath:/MET-INFO/resources/,

2、添加静态资源加载路径,获取图片

spring.mvc.static-path-pattern=/pic/**
spring.resources.static-locations=file:D:\epin\images

registry.addResourceHandler("/pic/**").addResourceLocations("file:D:\epin\images");

2、视图解析器

1)thymeleaf
如果想得到thymeleaf的模板引擎的支持,那么直接导入相应的依赖即可,默认返回的视图就是在thymeleaf下面,如果没有引入thymeleaf,需要我们自己定义返回的视图路径

2)JSP
加入相关的依赖,并且在IDEA中进行配置,修改视图解析器的路径

3)视图解析器

spring.mvc.view.prefix=classpath:/
spring.mvc.view.suffix=.html
3、自定义错误页面 三、日志 1、springboot中的日志管理

springboot默认使用slf4j的抽象类和logback实现类实现日志打印,如果仅导入slf4j是无法实现打印方法,还需要导入其他日志类实现具体的打印方法, 可能还需要导入设配器层的依赖,

如果其他框架中使用的日志打印是实现类不一样,可以在依赖exclusion标签去除掉日志类,使用springboot日志类替代就可以了,替换默认的框架也是如此。

2、日志打印

默认的打印级别是info,也就是说前面的打印方法在执行时都是没有效果的
trace

import org.junit.jupiter.api.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class DemoApplicationTests {

    Logger logger = LoggerFactory.getLogger(getClass());

    @Test
    void contextLoads() {
        logger.debug("debug");
        logger.info("info");
        logger.warn("warn");
        logger.error("errorn");
    }
}

四、集成mybatis 五、自动配置

@SpringBootApplication

@EnableAutoConfiguration

@AutoConfigurationPackage

@import(AutoConfigurationimportSelector.class)

从spring-boot-autoconfigure中的MET-INFO中的spring.factories中获取程序所需相应的全限定名称的配置类。

总结
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/679130.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号