SpringBoot

136 阅读2分钟

SpringBoot

  1. SpringBoot的配置文件:bootstrap.yml>application.properties>application.yml(有层次感)书写方式不同,前者优先级更高

  2. 接口与接口之间,前后端之间数据的传输都使用json格式,Springboot默认jackson,在Controller中添加 注解"RestController"即可返回json格式的数据

  3. SpringBoot内部已经集成了Slf4j(接口)和LogBack(实现)只需要在yml中配置,然后在要使用的类中用LoggerFactory创建即可,可以占位符打印一些参数信息 logger.info("参数1:{}",str); 、

    private static final Logger log = LoggerFactory.getLogger(ConsumerController.class);
    
  4. Yml配置信息少量可以用@Value注解获取 多的话可以创建配置类使用@ConfigurationProperties注解去获取配置,在controller用@Resource去引入使用

  5. Thymeleaf:服务端java模板引擎(模板文件放在templates目录下,静态资源放在static目录下) 可以展示静态数据,也可以像jsp一样从后台获取数据 相关配置:

    Spring:
      thymeleaf:
      cache: false #关闭页面缓存
      mode: LEGACYHTML5 #使用遗留的html5以去掉对html标签的校验
    

    Thymeleaf是基于html的,所以在html中要导入命名空间的约束xmlns:th="www.thymeleaf.org"

  6. Thymeleaf常用标签

    1. th:object="${}":获取对象
    2. th:value="${对象.属性名}":获取对象的值
    3. th:each="user: ${list}":进行遍历
    4. th:href="@{}":超链接
    5. th:action="@{}":表单提交
    6. th:if="${}":条件判断
  7. 自定义拦截器implements HandlerInterceptor

    1. preHandle:拦截到方法,在方法之前执行
    2. postHandle:方法执行之后,还没视图渲染之前执行
    3. afterCompletion:整个请求处理完成后执行
    4. 然后注册拦截器
  8. Springboot整合Redis,导入Redis依赖和fastson

    1. StringRedisTemplate:提供字符串操作,可以将实体转成json字符串,在取出来时,也可以转成相应对象
    2. opsForValue:操作字符串
    3. opsForHash:操作hashMap
    4. opsForList:操作list
    5. opsForSet:操作set
  9. Springboot jpa JPA(Java Persistence API),Java持久化API,仅仅是一种规范,Hibernate实现了JPA规范。

  10. 自动装配原理

    1. 他是通过SpringBootApplication核心注解实现的

    2. 这是个组合注解,里面有

      1. 比方@SpringBootConfiguration:标注当前是个配置类

      2. @ComponentScan:扫描过滤器,过滤出来加到Spring容器里 (带有@Controller,@Service,@Component)

      3. 其中开启自动配置功能的是@EnableAutoConfiguration

      4. 这个注解下Import导入了一个组件的选择器,AutoConfigurationImportSelector

      5. 里面有个SelectImports方法,他会从spring.factories这个文件里获取自动配置类加载到容器里,这样SpringBoot在启动的时候就会实现自动装配 (文件是一个Key-Value的形式)

    3. SpringBoot采用约定大约配置的方式,减少了配置文件的使用,POM引入依赖,开箱即用