一文了解SpringBoot

目录

什么是SpringBoot?

SpringBoot的优点

SpringBoot项目搭建 

创建一个普通的maven项目

修改pom.xml(检查引入的依赖是否正确)

 准备SpringBoot的启动配置文件

开发SpringBoot的启动类 

 输出HelloWord

注意事项

 SpringBoot的配置文件

特殊说明

 SpringBoot日志文件

日志的作用

 日志框架

作用

 java常见的日志框架

 日志的使用

配置日志级别

 使用日志对象


 

什么是SpringBoot?

Spring 的诞生是为了简化Java 程序的开发的,而Spring Boot 的诞生是为了简化 Spring 程序开发的。

SpringBoot的优点

  • 快速集成框架,Spring Boot 提供了启动添加依赖的功能,用于秒级集成各种框架。
  • 内置运行容器,无需配置 Tomcat 等 Web 容器,直接运行和部署程序。
  • 快速部署项目,无需外部容器即可启动并运行项目。
  • 可以完全抛弃繁琐的 XML,使用注解和配置的方式进行开发。(传统的spring项目开发,会使用大量的xml文件)
  • 支持更多的监控的指标,可以更好的了解项目的运行情况。

SpringBoot项目搭建 

和之前的spring项目一样,用maven创建,大家可以看看我一文了解Spring框架这篇文章。

创建一个普通的maven项目

f383063f40d844de9055620819b7af85.png

修改pom.xml(检查引入的依赖是否正确)

ad0653c7d953499caf2b1dab3ca09ccc.png

 准备SpringBoot的启动配置文件

d8f438b2396746cbb433e36ca4ed6d76.png

开发SpringBoot的启动类 

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class,args);
    }
}

 输出HelloWord

@RestController
@RequestMapping("/user")
public class UserController {

    @RequestMapping("/sayHi")
    public String sayHi(){
        return "HelloWord";
    }

}

89875fd38ecc4f4daede2b1d48aafa8b.png

注意事项

  1. 启动配置文件的文件名不能写错,内容可以为空
  2. 只有在启动类所在的包以下,才会进行包扫描

 SpringBoot的配置文件

整个项目中所有重要的数据都是在配置文件中配置的,配置文件的路径是src/main/resources,文件名是application,格式是properties或yml。

特殊说明

  1.  理论上讲 properties 可以和 yml 一起存在于一个项目当中,当 properties 和 yml 一起存在一个项目中时,如果配置文件中出现了同样的配置,比如 properties 和 yml 中都配置了“server.port”,那么这个时候会以 properties 中的配置为主,也就是说.properties 配置文件的优先级最高,但加载完 .properties 文件之后,也会加载 .yml 文件的配置信息。
  2.  虽然理论上来讲 .properties 可以和 .yml 共存,但实际的业务当中,我们通常会采取一种统一的配置文件格式,这样可以更好的维护(降低故障率)。
  3. properties 是以 key=value 的形式配置的键值类型的配置文件,而 yml 使用的是类似 json 格式的树形配置方式进行配置的,yml 层级之间使用换行缩进的方式配置,key 和 value 之间使用“: ”英文冒号加空格的方式设置,并且空格不可省略。
  4. properties 为早期并且默认的配置文件格式,但其配置存在一定的冗余数据,使用 yml 可以很好的解决数据冗余的问题。
  5. yml 虽然可以和 properties 共存,但一个项目中建议使用统一的配置类型文件。

 SpringBoot日志文件

日志是程序的重要组成部分,想象一下,如果程序报错了,不让你打开控制台看日志,那么你能找到报错的原因吗?

日志的作用

  • 记录用户登录日志,方便分析用户是正常登录还是恶意破解用户。
  • 记录系统的操作日志,方便数据恢复和定位操作人。
  • 记录程序的执行时间,方便为以后优化程序提供数据支持。

 日志框架

作用

  • 设置多种级别日志
  • 打印时,指定不同的日志级别(不同的环境,需要不同的打印信息)
  • 输出到不同地方(控制台,本地文件,数据库)

 java常见的日志框架

log4j : apache提供的日志框架

log4j2 : log4j的升级版本

logback : springboot默认的内置日志框架

slf4j : 日志的桥接框架

 日志的使用

配置日志级别

日志的级别:debug<info<warn<error

#设置日志打印级别  debug<info<warn<error
logging:
  level:
    root: info

 使用日志对象

@Slf4j  //lombok注解,表示当前类会自动生成一个log是属性
public class UserController {

//    lombok注解省略了以下这行代码
//    private static final Logger log = LoggerFactory.getLogger(UserController.class);

    @Value("${my.user.name}")
    private String username;

    public void init(){
        System.out.println(username);
        log.debug("配置文件中的user.name"+username);
//        log.error(""); 只能打印设置级别以上的日志
    }

 

  • 8
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
回答: 在使用SpringBoot进行测试时,可以使用@SpringBootTest注解来标识测试类,并且可以在不需要启动程序的情况下进行测试。 可以像编写正常的service方法一样编写测试代码。测试类上方的@SpringBootTest注解可以设置webEnvironment属性来启动web环境,例如@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)。此外,为了避免测试用例中的事务提交,可以在原始测试用例中添加注解@Transactional。当程序运行后,只要注解@Transactional出现的位置存在注解@SpringBootTest,SpringBoot就会认为这是一个测试程序,无需提交事务,从而避免事务的提交。你可以参考这些示例来编写你的SpringBoot测试代码。123 #### 引用[.reference_title] - *1* [SpringBoot Test测试类的使用](https://blog.csdn.net/munangs/article/details/126616786)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *2* *3* [一文了解SpringBoot的单元测试](https://blog.csdn.net/Learning_xzj/article/details/125432871)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值