```java
@RestController
public class indexController {
@Value("${com.neuedu.name}")
private String name;
@Autowired
private PayConfig payConfig;
@GetMapping("/index")
public User index(){
User user = new User();
user.setId(123L);
user.setUsername(name);
user.setPassword("123456");
return user;
}
@GetMapping("/pay")
public PayConfig getPay(){
return payConfig;
}
}
@RestController注解
这段代码使用Spring4新的@RestController注释,该注释将类标记为控制器,其中每个方法都返回一个域对象而不是视图。它是@Controller和@ResponseBody组合在一起的缩写。
@Value注解
通过@Value将外部的值动态注入到Bean中,使用的情况有:
注入普通字符串
注入操作系统属性
注入表达式结果
注入其他Bean属性:注入beanInject对象的属性another
注入文件资源
注入URL资源
@Value("normal")
private String normal; // 注入普通字符串
@Value("#{systemProperties['os.name']}")
private String systemPropertiesName; // 注入操作系统属性
@Value("#{ T(java.lang.Math).random() * 100.0 }")
private double randomNumber; //注入表达式结果
@Value("#{beanInject.another}")
private String fromAnotherBean; // 注入其他Bean属性:注入beanInject对象的属性another,类具体定义见下面
@Value("classpath:com/hry/spring/configinject/config.txt")
private Resource resourceFile; // 注入文件资源
@Value("http://www.baidu.com")
private Resource testUrl; // 注入URL资源
@Autowired注解
@Autowired是一种注解,可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作,@Autowired标注可以放在成员变量上,也可以放在成员变量的set方法上,也可以放在任意方法上表示,自动执行当前方法,如果方法有参数,会在IOC容器中自动寻找同类型参数为其传值。
这里必须明确:@Autowired是根据类型进行自动装配的,如果需要按名称进行装配,则需要配合@Qualifier使用
(SpringBoot07的1小时7分)
** @GetMapping**
@GetMapping是Spring4.3提供的新注解,它是一个组合注解,等价于@RequestMapping(method = RequestMethod.Get ),用于简化开发,
注意:@RequestMapping如果没有指定请求方式,将接收Get、Post、Head、Options等所有的请求方式.同理还有@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping等