Springboot常用注解(复习用)

起动和配置

@SpringbootApplication:标志该类为主启动类

=@EnableAutoConfiguration(启动Springboot的自动配置)+@ComponentScan(扫描该类所在包下所有被@Component (@Service,@Controller)标记的bean)+@Configuration(表明是一个配置类)

自动装配

@Autowired:根据类型自动装配,会在容器中寻找类型相同的bean注入

@Resource:根据名字自动装配

@Qualifier:与@Autowired一起使用(不能单独使用),根据名字装配

注册Bean

@Component:通用,标记该类为一个Bean

@Repository:标记Dao层的该类为一个Bean

@Service:标记服务层的该类为一个Bean

@Controller:标记该类为一个Controller

@RestController:标记该类所有方法不返回视图而是返回json数据

@Bean:表明方法的返回结果为一个Bean,Bean的id就是方法名

地址

@RequestMapping(value=" "):绑定的url地址

@GetMapping(value=" "):限定为get方法

@PostMapping(value=" "):限定为Post方法

传参

@PathVariable(" "):声明一个路径变量

eg:

@GetMapping("/user/{id}")
public User getUser(@PathVariable("id") Integer id)

@RequestParam(value=" ", required="true/false",defaultValue=" "):

将前端传过来的参数绑定到方法中(实际上不用加也可以,主要是可以用来实现一些特殊功能) required="true"表明请求中必须包含该参数,defaultValue表明不传参时的默认值

@GetMapping("/user/{id}")
public User getUser(@RequestParam(value="id",required=false,defaultValue="1") Integer id)

@RequestBody:接受前端传过来的json参数(必须是post方法?),并可以把这个json注入到一个对象中,一个request中只能有一个requestbody

@GetMapping("/user/{id}")
public User getUser(@RequestBody User user)

其他

@ConfiguratiomProperties:

将application配置文件中配置的每一个属性的值,映射到这个组件中;告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定;参数 prefix = “person” : 将配置文件中的person下面的所有属性一一对应

/*
@ConfigurationProperties作用:
将application配置文件中配置的每一个属性的值,映射到这个组件中;
告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定
参数 prefix = “person” : 将配置文件中的person下面的所有属性一一对应
*/
@Component //注册bean
@ConfigurationProperties(prefix = "person")
public class Person {
    private String name;
    private Integer age;
    private Boolean happy;
    private Date birth;
    private Map<String,Object> maps;
    private List<Object> lists;
    private Dog dog;
}

@Validated:参数校验,详见JSR303

@ResponseBody:作用在方法上表明该方法返回json字符串

@Scope(value=""):写在类前,表明类的作用域,四种常见的:singleton表明bean为单例模式(默认),prototype表明每次请求都会创建一个新的Bean,request表明每次请求都会创建一个新的Bean,且该Bean只在这个request内有效,session表明每次请求都会创建一个新的Bean且该Bean只在这个session内有效

posted @ 2021-03-19 16:58  刚刚好。  阅读(13)  评论(0编辑  收藏  举报