学习springboot-第一天

1.配置好maven项目

 2.测试springboot项目、

1.创建controller包下面的hello测试类

@Controller:标识此类负责 接收 和 处理 HTTP请求。

@RequestMapping():资源的访问路径

@RsponseBody:将java对象转为json格式的数据。

 

2.启动Springboot01Application主程序类,进行测试。springboot项目默认的端口号是8080.

3.项目启动成功,在浏览器中打开。

输入本机地址、端口号和资源的访问路径

 

 3.resources文件夹中的目录结构

1.static:保存所有的静态资源:js css images;
2.templates:保存所有的模板页面;(Springboot默认jar)
可以使用模板引擎(freemarker,thymeleaf); 
3.application.properties:spring boot应用的配置文件,
也可以修改一些配置。

 sprinboot的默认配置文件是 .properties,也可以是yml.或者.xml。

如何写配置文件:

 * 配置例子
 * .properties:
 *       sever.port=8801
 * .yml: server:
 *           port:8801
 * .xml: <sever>
 *     <port>8801</port>
 * </sever>

4.YAML文件

1.yml基础语法:

 使用缩进表示层级关系。
 * 缩进时不允许使用 Tab 键,只允许使用空格。
 * 缩进的空格数不重要,但同级元素必须左侧对齐。
 * 大小写敏感。
 * #表示注释。
 *
 * k:(空格)v:表示一对键值对(空格必须有);
 * 以空格的缩进来控制层级关系,只要是左对齐的一列数据都是同一层级的。
 * 如:
 * sever:
 *      port:(空格)8802    端口号
 *      path:(空格)/hello  访问路径
 *      address:(空格)127.0.0.1  ip地址
 *name: abc
 *  大小写敏感
 * 字面量: 普通的值

2.yml的数据结构


**********************YAML的数据结构**************
对象:键值对的集合。
person:
   name: zhangsan
#行内写法
person: {name: zhangsan}

数组:一组按次序排列的值
address:
   -   beijing
   -    shanghai 
#行内写法
address: [beijing, shanghai] 

纯量:单个的、不可再分的值。
msg1:    'hello \n word' # 单引号忽略转义字符 、就是原样输出包括\n,一段输出。
msg2:    'hello \n wprd' # 双引号识别转义字符,会识别\n这个换行符,两段输出。

代码示例:

3.对修改的YML配置文件进行测试:

  有三种方式读取配置文件:这里只介绍前两种。具体操纵步骤以@Value为例讲解。

一、
有@Value(name)、@Value(person.name)
private String name 
 System.out.println(name);
二、
@Autowired
private Environment env;
 System.out.println(env.getProperty("name"));

第一步:使用@Value注解读取配置文件的信息,并进行打印测试。

package com.test.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class hello {

    @Value("${name}")
    private String name;
    @Value("${person.name}")
    private  String name01;

    @Value("${msg1}")
    private  String msg1;

    @Value("${msg2}")
    private  String msg2;

    @Value("${address[0]}")
    private  String address01;

    @Value("${address[1]}")
    private  String address02;

    @ResponseBody
    @RequestMapping("/hello")
    public String hero(){
        System.out.println(name);
        System.out.println(name01);
        System.out.println(msg1);
        System.out.println(msg2);
        System.out.println(address01);
        System.out.println(address02);
        return " hello springboot";
    }
}

第二步:运行springboot项目,然后再次浏览器访问。

可以看到项目的端口号已经从8080改成了8083。

 这里注意,端口号已经变成了8083。

 

返回控制台。这时的值已经被打印出来了。

 

5.profile配置方式

补充:profile是用来完成不同坏境下,配置动态能力的。

第一种:多prifile文件方式: 提供多个配置文件,每一个代表一种坏境


 *  application-dev.properties/yml  开发环境
 *  application-test.properties/yml  测试坏境
 *  application-pro.properties/yml   生产环境

在每一个环境下写入端口号:

application-dev.properties:

server.port=8081

 application-pro.properties:

server.port=8082

application-test.properties:

server.port=8084

对配置文件进行激活:

在配置文件中配置:spring.profiles.active=test

application.properties:文件种输入:

application-test.properties:

 启动项目

 动态激活完成, 端口号成功修改。      

第二种:  yml多分档方式:在yml中使用 ---分隔不同配置

为了测试,将上面所有以.properties的配置文件全部删除。

application.yml:

---
server:
  port: 8086

spring:
  profiles:
    default: pro
---
server:
  port: 8087

spring:
  profiles:
    default: dev
---
server:
  port: 8088

spring:
  profiles:
    default: test
---
spring:
  profiles:
    active: dev

启动项目,这时你的动态修改成功。

 6.知识补充

***********************内部配置加载的顺序*****************
 * springboot程序启动时,会从以下位置加载配置文件
 * 1.file:./config/  : 当前项目的/config目录下
 * 2.file:./        : 当前项目的根目录
 * 3.classpath:./config/ :classpath的/config目录
 * 4.classpath:/  :classpath的根目录
 * 注意:加载顺寻为上文的排列顺序,高优先级配置的属性会生效。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值