IDEA注解练习
package com.jt.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.sound.midi.Soundbank;
//历史:后端进行页面跳转时一般使用@Controller注解
//当下:前后端分离,页面不归后端管。@RestController
// @RestController = @Controller + @ResponseBody
//面试题: @Controller 和 @RestController
@RestController
//Spring指定配置文件加载,将数据加载到容器中
//注解的规则:如果注解只有一个属性,并且名称为value是,则属性可以省略
//如果属性有多个时,则不能省略
/*classpath:/--是固定写法
*value--属性为多个时,不可省略 、
*encoding = "utf-8"----防止中文乱码
*user.properties--调用resources下user.properties里的
*
* /值*/
@PropertySource(value = "classpath:/user.properties",encoding = "utf-8")
//@RequestMapping("/car")
public class HelloController {
//private String name = "李四";
/*
* 表达式:springel表达式 简称为spel表达式
* 语法: ${表达式内容}
* 工作原理:
* 容器:在内存中一个存储大量数据的Map集合
* 1.当SpringBoot程序启动是,首先加载application.yml的配置文件
* 2.当程序加载 key-value结构时,将数据保存到Map集合中(容器内容)
* 3.利用Spel表达式,通过key,获取value,之后为属性赋值
* */
@Value("${userinfo.name}")
private String name;
@Value("${user.info2}")
private String name2;
@Value("${car.abc}")
private String name3;
/*该注解与方法名绑定*/
@RequestMapping("/hello")
public String hello(){
return "你好SpringBoot:"+name+":"+name2+":"+name3;
}
@RequestMapping("/car")
public String Car(){
System.out.println("保时捷");
return "宝马";
}
}