SpringBoot 项目常用注解大全

本文详细介绍SpringBoot项目中常用注解的功能与用法,包括@SpringBootApplicatio...等,帮助开发者掌握SpringBoot核心机制。

SpringBoot 项目常用注解大全

1. @SpringBootApplication:组合注解,让springboot自动给程序进行必要的配置;包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解

2. @Mapper:在接口类上添加了@Mapper,在编译之后会生成相应的接口实现类

3. @MapperScan:同@Mapper作用,不过在Springboot启动类上面添加,指定要变成实现类的接口所在的包,然后包下面的所有接口在编译之后都会生成相应的实现类

4. @Insert/@Delete/@Select/@Update:sql注解,可直接在Dao/Mapper方法上写sql语句

5. @Param:参数注解

6. @Service:用于修饰service层的组件

7. @Resource/@Autowired:自动导入依赖的bean
区别:
@Resource 默认按照名称进行装配,通过name属性进行指定
@Autowired 默认按类型装配,也可以使用名称装配,配合@Qualifier注解

8. @Transactional:用于配置spring事务管理,要么都成功,要么都不成功

9. @Controller:用于定义控制器类,由控制器负责将用户发来的URL请求转发到对应的服务接口

10. @RequestMapping:负责URL到Controller中的具体函数的映射

11. @RequestParam:接受的参数来自requestHeader,并将参数赋值到被@RequestParam注解的变量上,可使用requet.getParameter(“”)获取

12. @RequestBody:将接收的json数据装载到实体类中

13. @ResponseBody:将方法的返回值通过合适的HttpMessageConverter转换成特定格式写入到response的body区域

14. @Configuation:用于定义配置类,可替换xml配置文件,相当于<Beans></Beans>

15. @Bean:主要用在@Configuration注解的类里,也可以用在@Component注解的类里,相当于<Bean></Bean>

16. @Value:注入SpringBoot中配置文件的属性值;@Value(“${}”)

17. @Component:把普通pojo实例化到spring容器中,相当于配置文件中的 <bean id="" class=""/>;泛指组件

18. @Scheduled:定时任务注解;cron表达式:[秒] [分] [小时] [日] [月] [周] [年]
每天零点:@Scheduled(cron="0 0 0 * * ? ")
每隔五分钟:@Scheduled(cron=“0 0/5 * * * ?”)
每月最后一天23点执行一次:@Scheduled(cron=“0 0 23 L * ?”)
每天的0点、6点、12点、18点都执行一次:@Scheduled(cron=“0 0 0,6,12,18 * * ?”)
说明:
*表示所有值
? 表示不指定值
- 表示区间
, 表示指定多个值
/ 用于递增触发;如在秒上面设置”5/15” 表示从5秒开始,每增15秒触发
L 表示最后的意思
W 表示离指定日期的最近那个工作日(周一至周五)
#序号(表示每月的第几个周几),例如在周字段上设置”6#3”表示在每月的第三个周六

### Spring Boot 2 中常用注解及用途 #### @SpringBootApplication 注解 `@SpringBootApplication` 是 `@SpringBootConfiguration`、`@EnableAutoConfiguration` 和 `@ComponentScan` 三个注解的组合。这个注解简化了应用程序入口类的定义,使得开发者不需要单独声明这三个基础注解即可完成大部分配置工作[^1]。 ```java @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } ``` #### @SpringBootConfiguration 注解注解继承自 `@Configuration`,用于标记当前 Java 类作为配置类,在此类中可以使用 `@Bean` 来注册各种组件到 IoC 容器内。它主要用于加载配置文件以及初始化必要的环境设置[^2]。 #### @EnableAutoConfiguration 注解注解允许 Spring Boot 自动配置机制生效,即根据项目依赖关系自动推断并应用合适的默认配置选项。这大大减少了手动编写繁琐 XML 或者 Java 配置的工作量,提高了开发效率。 #### @ComponentScan 注解 通过指定 basePackages 属性来控制扫描哪些包下的组件,默认情况下会从标注有本注解所在的类所在位置开始向下递归扫描所有子包内的候选组件,并将其纳入 Spring 应用程序上下文中进行管理[^3]。 除了上述核心注解外,还有一些其他重要的注解也经常被用来增强功能: - **@RestController**:用于构建 RESTful Web Services 的控制器层接口实现; - **@Service**:通常应用于业务逻辑处理的服务层组件上; - **@Repository**:标识数据访问对象 DAO 组件,负责持久化操作; - **@ControllerAdvice**:全局异常处理器,可用于集中捕获和响应整个应用程序范围内的未处理异常情况; - **@Scheduled**:支持定时任务调度的功能,可以通过简单的方法级编程方式安排周期性的后台作业执行计划。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值