spring boot基本概念

spring boot是什么?就是一套集成了很多套件的web框架。
在这里插入图片描述

1. IOC和AOP

IOC:inverse of control,也称为DI依赖注入。具体来说,就是在xml文件的bean中定义具体的类,然后在程序中定义抽象的类,将bean中的类注入到程序中抽象的类里。
AOP:面向切面编程,简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可维护性。

2. HelloWorld

在intellij Idea中加入spring插件,然后新建一个web应用。
新建一个java class,代码如下:

package com.example.demo;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class DemoController {
    @RequestMapping("/hello")
    public String sayHello() {
        return "Hello,World!";
    }
}

运行后,就可以生成一个web项目了。

3. 注入配置参数

  • 在properties中加入参数配置:
  • 在@Service中加入参数,然后使用@Value注入配置参数
  • 在Controller中使用@Autowired新建一个Service参数类,然后就可以直接使用了
    在
    在这里插入图片描述
    在这里插入图片描述

4. 一些定义

LomBok:自动生成java代码的插件,可以大大减小开发量。
Swagger2:Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务,用于生成api文档。
JdbcTemplates:访问数据库的模型。
Logback:日志系统
MyBatis:持久层框架
定义了 org.springframework.cache.CacheManager 和 org.springframework.cache.Cache 接口用于统一不同的缓存技术。
模板引擎:有 Freemarker、Groovy、Thymeleaf、Velocity 以及 Mustache,SpringBoot 中推荐使用 Thymeleaf 作为模板引擎,因为 Thymeleaf 提供了完美的 SpringMVC 支持。
使用声明式事务:
在这里插入图片描述
事务的英文为transaction,用于控制数据安全访问。Java事务的类型有三种:JDBC事务、JTA(Java Transaction API)事务、容器事务。

5. 日志

日志输出内容元素具体如下:

  • 时间日期:精确到毫秒
  • 日志级别:ERROR, WARN, INFO, DEBUG or TRACE
  • 进程 ID
  • 分隔符:— 标识实际日志的开始
  • 线程名:方括号括起来(可能会截断控制台输出)
  • Logger 名:通常使用源代码的类名
  • 日志内容

如果你的终端支持ANSI,设置彩色输出会让日志更具可读性。通过在 application.properties 中设置 spring.output.ansi.enabled 参数来支持。推荐改为DETECT,会检查终端是否支持 ANSI,是的话就采用彩色输出。

若要增加文件输出,需要在 application.properties 中配置 logging.file 或 logging.path属性。二者不能同时使用,如若同时使用,则只有logging.file生效。默认情况下,日志文件的大小达到 10MB 时会切分一次,产生新的日志文件,默认级别为:ERROR、WARN、INFO

  • logging.file:设置文件,可以是绝对路径,也可以是相对路径。如:logging.file=my.log
  • logging.path:设置目录,会在该目录下创建spring.log文件,并写入日志内容,如:logging.path=/var/log

在 Spring Boot 中只需要在 application.properties 中进行配置完成日志记录的级别控制。
配置格式:logging.level.*=LEVEL
logging.level:日志级别控制前缀,*为包名或Logger名
LEVEL:选项 TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF
举例:
logging.level.com.nasus=DEBUG:com.nasus 包下所有 class 以 DEBUG 级别输出
logging.level.root=WARN:root日志以 WARN 级别输出

猜你喜欢

转载自blog.csdn.net/kittyzc/article/details/106075589