美文网首页
2019-02-10第11天

2019-02-10第11天

作者: 织雾呀 | 来源:发表于2019-02-10 21:03 被阅读0次

1. 使用springInitializer快速创建springboot项目

1.IDEA使用spring Initializer快速创建项目
联网创建的boot项目,主程序都已经写好了,我们只用写需要的逻辑
resouress文件目录结构
static:保存所有的静态资源(js,css)
templates:保存所有的模板页面(springboot默认jar包嵌入式Tomcat,默认不支持jsp页面)
可以使用模板引擎(free marker...)
application.properties:springboot应用的配置文件,可以修改一些默认配置

springboot的配置文件

springboot使用一个全局的配置文件,修改默认配置信息
application.properties
application.yml
配置文件放在src/main/resources目录或者类路径/config下
yml是YAML(YAML Ain't Markup Language )语言的文件,以数据为中心,比json和xml等更适合做配置文件

yml语法参考规则
例:

server:
  port: 8081

基本语法:
k:(空格)v:(空格) 表示一个键值对(空格必须要有)
以空格的缩进来控制层级关系:只要左对齐的一系列数据,yml都会解析为同一级别的

server:
  port: 8081
  path:/hello

注意:yml语法是大小写敏感的

2.值的语法
字面量:普通的值(数字,字符串,布尔)
k: v: 字面量的值
字符串默认不用加单引号或双引号;
"":双引号不会转义字符串里面的特殊字符;特殊字符会做为本身想表达的意思
name:"zhansan \n lisi "输出:zhangsan 换行 lisi
'':'zhansan \n lisi ' 输出:zhansan \n lisi
对象:map(值与属性)(键值对)
k: v: 在下一行来写对象的属性和值的关系(注意缩进)
对象还是以k: v: 的方式

friend:
    lastName:zhansan
行内写法:
    friends: {lastName: zhansan,age: 20}

数组(list set):
用- 值来表示数组中的一个元素

pests:
    - cat
    - dog
    - pig

行内写法:

peats:[cat,dog,pig]

配置文件注入

yml文件或者properties文件,两种写法都可以

#properties文件,IDEA默认使用的是UTF-8编码,配置
配置person里面的属性值
person.age=12 
person.birth=1998/01/01
person.boss=false
person.last-name=小虎
person.maps.k1=v1
person.maps.k2=v2
person.lists=a,b,c

person.dog.name=小狗
person.dog.age=23


#yml文件
person:
  lastName: 站三
  age: 18
  boos: true
  birth: 1998/2/12

  maps:
    k1: v2
    k2: v3
  lists:
    - lisi
    - zhaowu

  Dog:
    name: 小虎
    age: 2
server:
  port:

//JavaBean
/**
 * 将配置文件的每一个属性的值,都映射到这个组件中
 * @ConfigurationProperties:告诉Springboot将本类中的所有属性和配置文件中的相关配置进行绑定
 *      prefix = "Person" :配置中的哪个下面的所有属性进行映射,映射的文件是yml或者properties文件
 *      只有这个组件是容器中的组件,才能给容器提供Configuration
 */
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
    private String lastName;
    private Integer age;
    private boolean boss;
    private Date birth;

    private Map<String,Object> maps;

    private List<Object> lists;
    private Dog dog;
    
    ...
    get和set方法
    

导入依赖

这里会碰到的一个问题是,官网上的描述的那个直接套用在你的pom.xml中可能是会报错的,因为版本号不同的原因。在Maven Repository中可以找到正确的依赖

官网描述官网描述
<dependency>        
    <groupId>org.springframework.boot</groupId>        
    <artifactId>spring-boot-configuration-processor</artifactId>
    <version>2.1.1.RELEASE</version>        
</dependency>

可以在单元测试进行查看

/**
 * SpringBoot的单元测试
 * 可以在测试期间很方便,类似于编码一样的运行自动注入等容器功能
 */
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringBoot01HelloworldQuickApplicationTests {

    @Autowired
    Person person = new Person();
    @Test
    public void contextLoads() {
        System.out.println(person.toString());
    }

}



相关文章

网友评论

      本文标题:2019-02-10第11天

      本文链接:https://www.haomeiwen.com/subject/zewxeqtx.html