SpringBoot02

接着上一次说

多模块

在idea中存在多模块,而在eclipse中则可以多个项目;因为本人使用idea所以给大家说一下springboot的多模块:
idea中多模块开发,必须依赖于父亲模块,我们项目也必须是boot的parent,所以要在项目的父模块中管理boot的版本以来,我们只需要在父级模块pom.xml中引入

 <dependencyManagement>
        <dependencies>
            <!--springboot版本管理,springboot相关模块引入是就不需要制定版本了-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.0.5.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

然后在子级模块就可以任意引入springboot的场景启动器了,比如web的

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

@SpringBootApplication

SpringBootApplication应用标注在某个类上说明这个类是SpringBoot的主配置类,SpringBoot就应该运行这个类的main方法来启动SpringBoot应用
在这里插入图片描述

springboot配置

SpringBoot使用一个全局的配置文件,配置文件名是固定的;

•application.properties -传统方式,不太优美

•application.yml-推荐使用
配置文件的作用:修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好;

YAML做配置一门语言:
以前的配置文件;大多都使用的是 xxxx.xml文件还有properties;
YAML:以数据为中心,比json、xml等更适合做配置文件;
在application.yml中改写端口

server:
  port: 80

运行app后只需要访问80就行了,没有修改默认访问8080端口
在yml中还可以存放数据比如person

person:
  name: zs
  age: 1
  brith: 2019/01/01
  sex: true
  hobby:
    fly
    eat
    sleep
  car:
     name: audi

person.class

@Component
@ConfigurationProperties(prefix = "person")
public class Person {
    private String name;
    private Integer age ;
    private Car car;
    private boolean sex;
    private List<String> hobby;
    private Date brith;

@ConfigurationProperties(prefix = “person”)可以将配置文件中的属性一一映射
也可以使用@value自己手动映射

@Component
public class Person {
	@Value("${person.name}")
    private String name;
    @Value("${person.age}")
    private Integer age ;
    private Car car;
    private boolean sex;
    private List<String> hobby;
    private Date brith;

Yml支持多文档块模式

server:
  port: 8081
spring:
  profiles:
    active: prod

---
server:
  port: 8083
spring:
  profiles: dev


---

server:
  port: 8084
spring:
  profiles: prod  #指定属于哪个环境

SpringBoot test

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
		</dependency>

测试类

@RunWith(SpringRunner.class)
@SpringBootTest(classes = App.class) 
public class SpringbootTest {
	@Autowired
	private Person person;
	@Test
	public void test() throws Exception {
		System.out.println(person);
	}
}

Spring boot日志支持

通过日志的方式记录系统运行的过程或错误以便定位问题。
因为不同的框架使用的是不同的日志框架,所以写了一个统一的接口层;日志门面(日志的一个抽象层);logging-abstract.jar;给项目中导入具体的日志实现就行了;我们之前的日志框架都是实现的抽象层;
在这里插入图片描述
每一个日志的实现框架都有自己的配置文件。使用slf4j以后,配置文件还是做成日志实现框架自己本身的配置文件;
如何让系统中所有的日志都统一到slf4j;

1、将系统中其他日志框架先排除出去;

2、用中间包来替换原有的日志框架;

3、我们导入slf4j其他的实现
当项目是使用多种日志API时,可以统一适配到SLF4J,中间使用SLF4J或者第三方提供的日志适配器适配到SLF4J,SLF4J再底层用开发者想用的一个日志框架来进行日志系统的实现,从而达到了多种日志的统一实现

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值