Spring Boot

1、Spring Boot ConponentScan

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class AppApplication {

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

}

如该段代码,AppApplication.java类就是启动类(有@SpringBootApplication注解),Spring Boot 框架会默认扫描该类所在包及其子包。
若是要扫描其他包:

解决办法

@SpringBootApplication注解加参数

@SpringBootApplication(scanBasePackages={"fm.douban.app", "fm.douban.service"})
public class AppApplication {
  public static void main(String[] args) {
    SpringApplication.run(AppApplication.class, args);
  }
}

这样就可以扫描fm.douban.app,fm.douban.service这两个包里的对象了。

如果不是Spring Boot启动类,可以使用独立的注解@ComponentScan

@ComponentScan({"fm.service", "fm.app"})
public class SpringConfiguration {
  ... ...
}

2、Spring Boot Logger

日志系统的优势:

  • 日志系统可以轻松控制日志是否输出。
  • 日志系统可以灵活配置日志的输出细节。

使用日志系统步骤:

2.1、配置

修改 Spring Boot系统标准文件:application.properties(在项目的src/main/resource/目录下),增加日志级别配置:

logging.level.root=info

表示所有日志(root)都为info级别。

也可以单独为不同的包配置不同的级别:

logging.level.fm.douban.app=info

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

常用的日志级别(优先级)如下:

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

级别的作用

不输出配置级别低的日志信息。

logging.level.root=error意味着不输出比 ERROR 更低级的 WARM、INFO、DEBUG 日志信息

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 启动啦");
    }
}
级别方法名
ERRORerror()
WARNwarn()
INFOinfo()
DEBUGdebug()

3、Spring Boot Properties

application.properties是一个固定位置(src/main/resources/)、固定名字的文件,框架会自动加载并解析这个配置文件。

3.1、配置文件的格式

配置项名称=配置项值

logging.level.root=info
logging.level.fm.douban.app=info
  • .分隔单词
  • 相同前缀的配置项写在一起
  • 不同前缀的配置项空一行

3.2、配置的意义

配置的主要作用,是把可变的内容从代码中剥离出来,做到在不修改代码的情况下,方便修改这些可变的或常变的内容。做到解耦,避免硬编程

3.3、自定义配置项

可以在配置文件中加入自定义的配置项

song.name=batianhan

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

使用该配置项:

import org.springframework.beans.factory.annotation.Value;

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

这样,就把song.name的值赋给了songName

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值