Catalog
  1. 1. SpringBoot常用注解总结
    1. 1.1. @Data
    2. 1.2. @AllArgsConstructor
    3. 1.3. @NoArgsConstructor
    4. 1.4. @EqualsAndHashCode
    5. 1.5. @Log4j/@Slf4j
    6. 1.6. 上面几个需要引入Lombok依赖
    7. 1.7. @Configuration
    8. 1.8. @Bean
    9. 1.9. @ComponentScan()
    10. 1.10. @Scope 调整作用域
    11. 1.11. @Controller
    12. 1.12. @RequestMapping
    13. 1.13. service采用@service注解
    14. 1.14. dao层使用@repository注解
    15. 1.15. @Autowired
    16. 1.16. mapper层使用@Component注解
    17. 1.17. @RestController注解
    18. 1.18. @ResponseBody注解
SpringBoot常用注解总结

SpringBoot常用注解总结

@Data

注在类上,提供类的get、set、equals、hashCode、canEqual、toString方法

@AllArgsConstructor

注在类上,提供类的全参构造

@NoArgsConstructor

注在类上,提供类的无参构造

@EqualsAndHashCode

注在类上,提供对应的 equals 和 hashCode 方法

@Log4j/@Slf4j

注在类上,提供对应的 Logger 对象,变量名为 log

上面几个需要引入Lombok依赖

@Configuration

告诉sprin该类是一个配置类
所谓的配置类相当于我们所写的xxx.xml配置文件

@Bean

1
给容器中注入一个Bean,相当于<bean></bean>进行实例化一个bean

@ComponentScan()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
等同于:<context:component-scan  base-package=""></context:component-scan>

value :指定需要扫描的包

excludeFilters :指定扫描的适合排除那些包

    Filter[] excludeFilters() default {};
   FilterType type() default FilterType.ANNOTATION;
Class<?>[] classes() default {};
includeFilters: 指定扫描的时候只包含那些包

   在使用的时候需要添加:useDefaultFilters=false属性

   其余属性和excludeFilters类似

@Scope 调整作用域

默认是单实例的,只实例化一个bean

//prototype 多实例的 在IOC容器创建之后获取对象才开始创建,获取一次创建一次

//singleton 单例的 IOC容器启动的时候就会调用对象放到IOC容器中,多次获取也是只获取同一个

//request 同一次请求

//session 同一个session

@Controller

用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法。通俗来说,被Controller标记的类就是一个控制器,这个类中的方法,就是相应的动作。

@RequestMapping

是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

service采用@service注解

例:@Service(“userService”)注解是告诉spring,当Spring要创建UserServiceImpl的的实例时,bean的名字必须叫做”userService”,这样当Action需要使用UserServiceImpl的的实例时,就可以由Spring创建好的”userService”,然后注入给Action。

dao层使用@repository注解

@Repository(value=”userDao”)注解是告诉Spring,让Spring创建一个名字叫“userDao”的UserDaoImpl实例。
当Service需要使用Spring创建的名字叫“userDao”的UserDaoImpl实例时,就可以使用@Resource(name = “userDao”)注解告诉Spring,Spring把创建好的userDao注入给Service即可。

@Autowired

@Autowired可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作,我们也要清楚,@Autowired是根据类型进行自动装配的。

mapper层使用@Component注解

1
@component (把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>)

@RestController注解

相当于@Controller+@ResponseBody两个注解的结合,返回json数据不需要在方法前面加@ResponseBody注解了,但使用@RestController这个注解,就不能返回jsp,html页面,视图解析器无法解析jsp,html页面

@ResponseBody注解

如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。

1
2
3
4
5
6
7
//处理文件上传
@RequestMapping(value="/testuploadimg", method = RequestMethod.POST)
public @ResponseBody String uploadImg(@RequestParam("file") MultipartFile file,
HttpServletRequest request) {
System.out.println("调用文件上传方法");
String contentType = file.getContentType();
String fileName = file.getOriginalFilename();
Author: zycode1561
Link: https://zycode1561.github.io/2020/02/11/SpringBoot%E5%B8%B8%E7%94%A8%E6%B3%A8%E8%A7%A3%E6%80%BB%E7%BB%93/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Donate
  • 微信
  • 支付宝

Comment