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 | 等同于:<context:component-scan base-package=""></context:component-scan> |
@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 | //处理文件上传 |