SpringBoot 常见注解及含义

说明:网络上有很多关于SpringBoot注解的文章,这里仅罗列常见的注解,并对其做下简略分类。某些注解可能不仅仅只在本文所罗列的某类中,在其它类中或许也会用到,这里的分类仅以常用为主。

入口类:

  • @SpringBootApplication:标注该类为启动类。包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。
  • @EnableAutoConfiguration:自动载入应用程序所需的所有Bean。
  • @ComponentScan:组件扫描,可自动发现和装配一些Bean。
  • @SpringBootConfiguration:相当于传统的xml配置文件。

测试类:

  • @RunWith:参数化运行容器。如果只是简单单元测试,可去掉该注解。
  • @SpringBootTest:Spring将加载所有被管理的bean,基本等同于启动了整个服务,此时便可以开始功能测试。
  • @Test:JUnit单元测试,可进行时间测试或异常测试等。

Repository:

  • @Repository:只能标注在 DAO 类上,常用作持久层Bean标注。
  • @NoRepositoryBean:一般用作父类的repository,有这个注解,Spring不会去实例化该repository。

实体类:

  • @Entity:标注该类是一个实体化Bean。
  • @Table:标注该类到数据库中的数据表相对应。
  • @Id:标注主键,作用于某变量。
  • @Column:标注某变量对应于数据库中的某字段。
  • @Query:标注某方法将要使用JPQL(自定义查询语言)。

配置类:

  • @Configuration:相当于传统的xml配置文件。
  • @Bean:相当于传统的xml配置文件的<bean>。会将作用于的方法返回值装载入Spring容器。

Service类:

  • @Service:自动配置该类交由Spring容器管理。相当于@Component,只不过这里使用@Service不仅表明其为Bean,而且为Service层。

通用类:

  • @Resource :作用相当于@Autowired,自动装配Bean组件。默认按照名称装配。
  • @Component:泛指组件。当组件不容易分为Controller,Service或Repository时可用该注解标注属于Bean并且交由Spring容器管理。
  • @Autowired:自动装配Bean组件。默认按照类型装配,常与@Qualifier使用。

Controller类:

  • @Controller:标注该类为一控制层类,被标注的方法或类可以直接通过返回String跳转到jsp、ftl、html等模版页面,同时SpringBoot容器会管理该类。
  • @RequestMapping:该类将请求地址映射起来(相当于使用配置的URL访问该类或该方法)。
  • @RestController:相当于@ResponseBody + @Controller,被标注的方法或类只能返回String、Object、Json等实体对象,不能跳转到模版页面。
  • @ResponseBody:标注该方法将java对象转为json格式的数据,常与@Controller配合使用。

事务类:

  • @Transactional:该注解作用于一个类或方法上,说明该类或方法需要事务支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值