SpringBoot常用注解
@Autowired
按类型装配
@PathVariable与@@RequestParam
@PathVariable注解的用法和作用
通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过注解@PathVariable(“xxx“) 绑定到操作方法的入参中。
/**
1. @RequestMapping(value = "/index/{id}"
2. 请求路径:http://localhost:8080/hello/user/index/1
**/
@RequestMapping(value = "/index/{id}", method = RequestMethod.GET)
public String index(@PathVariable("id") int id) {
System.out.println("get user:" + id);
return "success";
}
在控制器方法入参处使用@RequestParam注解可以将请求参数传递给方法,value属性指定参数名,required属性指定参数是否必需,默认为true,表示请求参数中必须包含对应的参数,如果不存在,则抛出异常。
//请求路径:http://localhost:8080/hello/user/requestParam?loginName=kj&loginPwd=123
@RequestMapping("/requestParam")
public String requestParam(
@RequestParam(value = "loginName")String loginName,
@RequestParam(value = "loginPwd")String loginPwd) {
System.out.println("loginName:"+loginName+",loginPwd:"+loginPwd);
return "success";
}
@Controller
指明当前类是一个控制器
@RestController
注解是@Controller和@ResponseBody的合集
@ConfigurationProperties
告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定(必须将本类导入到容器中)
prefix = “person” 配置文件中那个下面的所有属性进行一一映射
@Value
注入application.properties配置的属性的值
@Value和@ConfigurationProperties的区别
@ComponentScan
组件扫描,标识此类会被spring自动扫描并且装入bean容器。
@SpringBootApplication
表示当前类是SpringBoot的主程序,结合@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan注解。
@EnableAutoConfiguration
标识自动配置
@PropertySource
加载指定的配置文件,该注解和@ConfigurationProperties一起使用。
@PropertySource(value = "{classpath:person.properties}")//加载类路径下person.properties这个文件
@component
@ConfigurationProperties(prefix = "person")
public class Person{
}
@ImportResource
导入Spring的配置文件,让配置文件里面的内容生效
@ImportSource(locations={"classpath:person.xml"})//加载的是xml文件
@SpringBootApplication
public class PersonApplication {
}
@Bean
@Configuration //指明是一个配置类
public class MyConfig {
//将方法的返回值添加到容器中,容器中这个组件默认的id就是方法名
@Bean
public Person person() {
System.out.println("给容器中添加组件了");
return new Person();
}
}