spring/spring-boot常用注解

本文详细介绍了Spring Boot中常用的注解,包括@SpringBootApplication、@Autowired、@Component、@Repository、@Service、@Controller、@RestController等,以及处理HTTP请求、前后端传值、读取配置信息、参数校验、全局异常处理、JPA相关注解和JSON数据处理等。这些注解在Spring Boot应用开发中起到关键作用。
摘要由CSDN通过智能技术生成

spring/spring-boot常用注解

1.@SpringBootApplication

我们可以把@SpringBootApplication看作是@Configuration、@EnableAutoConfiguration、@ComponentScan注解的集合。

  • @EnableAutoConfiguration:启用SpringBoot的自动配置机制
  • @ComponentScan: 扫描被@Component(@Service、@Controller)注解的bean,注解会默认扫描该类所在包下的所有的类
  • @Configuration: 允许在Spring上下文中注册额外的bean或导入其他配置类。

2.Spring Bean相关

2.1 @Autowired

自动导入对象到类中,被注入进的类同样要被Spring容器管理。例如:service 注入到controller中

@Service
public class UserService {
   
  ......
}

@RestController
@RequestMapping("/users")
public class UserController {
   
   @Autowired
   private UserService userService;
   ......
}
2.2@Componet、@repository、@service、@Controller

我们一般使用@Autowire的注解让Spring容器帮我们自动装配bean。

  • @Component:通用的注解,可标注任意类为Spring组件。在不知道一个列属于哪一个层的时候可以使用@Component注解。
  • @Repository:对应持久层即Dao层,主要用于数据库相关操作。
  • @Service:对应服务层,主要涉及一些复杂的逻辑,需要用到Dao。
  • @Controller:对应Spring MVC 控制层,主要用于接收用户请求并调用service层返回数据给前端页面。
2.3 @RestController

@RestController注解是@Controller和@ResponseBody的合集,表示这是个控制器bean。并且是将函数的返回值直接填入HTTP响应体中,是REST风格的控制器。
(现在基本都是前后端分离,所以很少用@Controller注解)
单独的使用@Controller不加@ResponseBody的话一般都使用在要返回一个视图的情况下,属于传统的Spring MVC 的应用。对应于前后端不分离的情况。 而@Controller + @ ResponseBody 返回JSON或XML类型数据。
@RestController和@Controller详解.
(引用Guide哥的文章!!!!)

2.4 @Scope

声明Spring Bean 的作用域,使用的方法如下

@Bean
@Scope("singleton")
public Person personSingleton() {
   
    return new Person();
}

四种常见的Spring Bean的作用域:

  • singleton:唯一bean实例,Spring中的bean默认都是单例的。
  • prototype: 每次请求都会创建一个新的bean实例。
  • request:每一次HTTP请求都会产生一个新的bean,该bean仅在当前HTTP request 内有效
  • session:每一次HTTP请求都会产生一个新的bean,该bean仅在当前的HTTP session内有效。
2.5@Configuration

一般用来声明配置类,也可以使用@Component注解代替。

@Configuration
public class AppConfig {
   
    @Bean
    public TransferService transferService() {
   
        return new TransferServiceImpl(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值