您现在的位置是:主页 > news > 著名的工业设计产品/seo排名点击软件推荐
著名的工业设计产品/seo排名点击软件推荐
admin2025/4/29 15:29:17【news】
简介著名的工业设计产品,seo排名点击软件推荐,c 做精品课程网站,做任务赚钱的网站代码YAML语法可以参考《YAML文件的基本语法》 application.properties和application.yml都是SpringBoot的配置文件,它们位于src/main/resources目录下,专门用于修改默认配置的。 1、首先在src/main/resources目录下创建application.yml ~/Desk…
YAML语法可以参考《YAML文件的基本语法》
application.properties和application.yml都是SpringBoot的配置文件,它们位于src/main/resources
目录下,专门用于修改默认配置的。
1、首先在src/main/resources
目录下创建application.yml
~/Desktop/MySpringboot$ touch src/main/resources/application.yml
2、在application.yml中加入以下配置信息
server:port: 8088
person:lastName: Samage: 18boss: falsebirth: 2020/03/21maps: {k1: v1,k2: v2}lists:- Tom- Samdog:name: small dogage: 2
如果用application.properties文件来配置,那么上述数据就等价于:
server.port=8088
person.lastName=Sam
person.age=18
person.boss=false
person.birth=2020/03/21
person.maps.k1=v1
person.maps.k2=v2
person.lists=Tom,Sam
person.dog.name=small dog
person.dog.age=2
3、创建一个Person类,用于将配置文件中的属性值映射到此类中来
Person.java
package com.wong.bean;import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;import java.util.Date;
import java.util.List;
import java.util.Map;/*** 将配置文件中配置的每一个属性值,映射到这个组件中* @ConfigurationProperties:告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定* prefix = "person":配置文件中哪个下面的所有属性值进行一一映射* 注意:只有这个组件是容器的组件,才能使用容器提供的ConfigurationProperties功能*/
@Configuration
@ConfigurationProperties(prefix = "person")
public class Person{private String lastName;private int age;private boolean boss;private Date birth;private Map<String,Object> maps;private List<Object> lists;private Dog dog;// 省略setter、getter方法
}
- @ConfigurationProperties:告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定,prefix = “person”:配置文件中哪个下面的所有属性值进行一一映射。
- @Configuration用于定义配置类,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。
- Spring的@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理。产生这个Bean对象的方法Spring只会调用一次,随后这个Spring将会将这个Bean对象放在自己的IOC容器中
其实我们还可用@Value标注来绑定值:
@Configuration
//@ConfigurationProperties(prefix = "person")
public class Person{@Value("${person.lastName}")private String lastName;@Value("${person.age}")private int age;@Value("${person.boss}")private boolean boss;@Value("${person.birth}")private Date birth;@Value("${person.maps}") // 失败private Map<String,Object> maps;@Value("${person.lists}") // 失败private List<Object> lists;@Value("${person.dog}") // 失败private Dog dog;// 省略setter、getter方法
}
比较一下@Value和@ConfigurationProperties的区别:
@ConfigurationProperties | @Value | |
---|---|---|
功能 | 批量注入配置文件中的属性 | 逐个指定 |
松散语法 | 支持,即lastName、last_name、LAST_NAME都会认为是相同的 | 不支持 |
SpEL | 不支持 | 支持,见示例1 |
JSR303数据校验 | 支持,见示例2 | 不支持 |
复杂类型封装 | 支持 | 不支持 |
因此有复杂类型封装或者定义了javaBean来映射配置项,我们就选用@ConfigurationProperties。在单独使用某个属性时,就用@Value。
示例1:
@Configuration
public class Person{@Value("#{10*2}")private int age;// 省略setter、getter方法
}
示例2:
@Configuration
@ConfigurationProperties(prefix = "person")
@Validated
public class Person{@mailprivate String lastName; // 必须符合邮件格式...
}
4、使用配置信息
@RestController
@RequestMapping("world")
public class HelloWorldController{@Autowiredprivate Person person;@GetMapping("hi")public String index(){return person.getLastName();}
}
@Autowired 是一个注释,它可以对类成员变量、方法及构造函数进行标注,让 spring 完成 bean 自动装配的工作。
5、运行并测试
运行:
~/Desktop/MySpringboot$ mvn spring-boot:run
在浏览器测试:
6、单元测试
在src/test/java/com/wong下创建测试类:
package com.wong;import com.wong.bean.Person;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringBootConfigTests {@Autowiredprivate Person person;@Testpublic void testPerson(){System.out.println(person.getLastName()+"kkkkk");}}
右键SpringBootConfigTests.java,点击RUN 'SpringBootConfigTests’运行测试类:
测试通过。谢谢阅读!