springBoot_02

白昼怎懂夜的黑 提交于 2020-02-08 02:08:53

Spring boot配置

springBoot可以用properties配置,也可以用yml配置,官方推荐yml,配置文件名字是固定的,名为application.properties或application.yml

YAML做配置一门语言:

以前的配置文件;大多都使用的是  xxxx.xml文件还有properties;

YAML:以数据为中心,比json、xml等更适合做配置文件;

YAML:配置例子

server:
  port: 8081

yml语法

k:(空格)v:表示一对键值对(空格必须有);

以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的

server:
    port: 8081
    path: /hello

属性和值也是大小写敏感;

值的写法

1)字面量:普通的值(数字,字符串,布尔)

k: v:字面直接来写;

	 字符串默认不用加上单引号或者双引号; 

	"":双引号;不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思

			name:   "zhangsan \n lisi":输出;zhangsan 换行  lisi

	'':单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据

			name:   ‘zhangsan \n lisi’:输出;zhangsan \n  lisi

2)k: v:在下一行来写对象的属性和值的关系;注意缩进

	对象还是k: v的方式

friends:
		lastName: zhangsan
		age: 20

3)数组(List、Set):

用- 值表示数组中的一个元素

pets:
 - cat
 - dog
 - pig

读取配置文件的值

在javaBean类上加@ConfigurationProperties:
将配置文件中配置的每一个属性的值,映射到这个组件中,将本类中的所有属性和配置文件中相关的配置进行绑定; prefix = “person”:配置文件中哪个下面的所有属性进行一一映射
例如:

@Component
@ConfigurationProperties(prefix = "person")
public class Person {
    private String lastName;
    private Integer age;
    private Boolean boss;
    private Date birth;
    ......

自动配置

1)、SpringBoot启动会加载大量的自动配置类
2)、我们看我们需要的功能有没有SpringBoot默认写好的自动配置类;
3)、我们再来看这个自动配置类中到底配置了哪些组件;(只要我们要用的组件有,我们就不需要再来配置了)
4)、给容器中自动配置类添加组件的时候,会从properties类中获取某些属性。我们就可以在配置文件中指定这些属性的值;
xxxxAutoConfigurartion:自动配置类;
给容器中添加组件
xxxxProperties:封装配置文件中相关属性;

springBoot的 test

在原有基础上面导入spring-boot-starter-test

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

创建一个SpringBoot启动应用,并在下面创建一个Bean

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

测试类

@RunWith(SpringRunner.class)
@SpringBootTest(classes = App.class) //这事一个Spring测试,要告诉它在哪儿加载Spring配置文件,其实告诉它应用类型就ok
public class SpringbootTest {
	@Autowired
	private TestService testService;
	@Test
	public void test() throws Exception {
		System.out.println(testService);
		testService.test();
	}
}

还有个slf4j日志框架。。。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!