Spring Boot

1. Spring Boot ComponentScan

Spring 框架通过解析属性的注解,自动把需要的 Bean 实例注入到属性中,加了@SpringBootApplication注解的类是启动类,是整个系统的启动入口。Spring Boot框架会默认扫描启动类所在的包(fm.douban.app),及其所有的子包进行解析,那么fm.douban.service包就不会进行自动扫描,也不会自动实例化Bean,而在 control 包中又使用了所需要的的Bean,则会报错。
在这里插入图片描述
解决办法:
启动类注解@SpringBootApplication添加一个参数,告知系统需要额外扫描的包:

package fm.douban.app;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication(scanBasePackages={"fm.douban.app", "fm.douban.service"})
public class AppApplication {
	public static void main(String[] args) {
		SpringApplication.run(AppApplication.class, args);
	}
}
  • 参数名是:scanBasePackages
  • 参数值是一个字符串数组,用于指定多个需要额外自动扫描的包,需要把包的前缀都写入

额外的知识点
对所有的 control 类使用了@RestController 的类,所有的方法不会渲染Thymeleaf页面,都是返回数据,等同于在使用@Controller的类的方法上添加@ResponseBody注解

2. Spring Boot Logger 应用

在 Spring 系统中,使用日志来记录信息
步骤

2.1 配置

修改Spring Boot系统的标准配置文件:application.properties(在项目的src/main/resources/目录下),这是一个固定位置,框架会自动加载解析这个配置文件,增加日志级别配置:
在这里插入图片描述

logging.level.root=info

表示所有的日志(root)都为 info 级别
也可以为不同的包定义不同的级别

logging.level.fm.douban.app=info

表示fm.douban.app包及其子包中的所有的类输出 info级别的日志

2.1.1 常用的日志级别
优先级级别含义和作用
最高ERROR错误信息日志
WARN暂时不出错但高风险的警告信息日志
INFO一般的提示语、普通数据等不紧要的信息日志
DEBUG进开发阶段需要关注的调试信息日志

logging.level.root=error意味着不输出更低优先级的 WARN、INFO、DEBUG 日志,只输出 ERROR 日志
logging.level.root=WARN意味着不输出更低优先级的 INFO、DEBUG 日志,只输出 WARN 和 更高 优先级的 ERROR 日志。

2.2 编码

配置完成后,编码很简单,只需要实例化日志对象即可以打印日志了。

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.PostConstruct;

@RestController
public class SongListControl {
	private static final Logger LOG = LoggerFactory.getLogger(SongListControl.class);
	@PostConstruct
	public void init() {
		LOG.info("SongListControl 启动啦");
	}
}

先定义一个类变量LOG,然后在LOG.info()方法的参数中输入日志内容。这里的方法名与日志级别一一对应

3. Spring Boot Properties

配置文件的格式很简单,每一行:配置项名称=配置项值

logging.level.root=info
logging.level.fm.douban.app=info
3.1 自定义配置项

application.properties配置文件中加入自定义的配置项

song.name=God is a girl

框架会自动加载自动解析整个文件

3.2 如何使用自定义配置项
import org.springframework.beans.factory.annotation.Value;

public class SongListControl {
	@Value("${song.name}")
	private String songName;
}

只需要使用@Value注解即可,括号中的配置项名称,与配置文件中的保持一致。
项目在启动时,Spring 系统会自动把application.properties配置文件中的 song.name 的值,赋值给 SongListControl 对象实例的 songName 变量。

点击Spring Session

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值