第四节 SpringBoot中的注解符使用

文章介绍了SpringBoot中核心注解的使用,包括@SpringBootApplication的组成和作用,控制器层的注解如@Controller和@RestController,服务层的@Service以及持久层的@Repository。同时提到了依赖注入的@Autowired注解和事务管理的@Transactional。这些注解在简化配置和提高开发效率方面起到了关键作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

​ Spring的一个核心功能是IOC,就是将Bean初始化加载到容器中,Bean是如何加载到容器的,可以使用Spring注解方式或者Spring XML配置方式。Spring注解方式减少了配置文件内容,更加便于管理,并且使用注解可以大大提高了开发效率!注解本身是没有功能的,和xml一样,注解和xml都是一种元数据,元数据即解释数据的数据,也就是所谓的配置。

1.Spring Boot 核心注解

​ 核心注解是@SpringBootApplication,它主要由@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan这三个构成。

@EnableAutoConfiguration是由 @AutoConfigurationPackage@Import(EnableAutoConfigurationImportSelector.class)这两个组成的。

@AutoConfigurationPackage是自动配置包,包括了一个@Import注解,给容器导入了自动配置包的注册器,AutoConfigurationPackages.Registrar.class:将主启动类的所在包及包下面所有子包里面的所有组件扫描到Spring容器

@Import(AutoConfigurationImportSelector.class):导入自动配置导入选择器组件,AutoConfigurationImportSelector.class:自动配置导入选择器,主要是从类路径下的META-INF/spring.factories中获取资源
@ComponentScan:扫描包,该注解默认会扫描该类所在的包下所有的配置类

2.控制器注解

@Controller:标注于任意一个类上,声明该类属于Controller。通常该注解会与@ResponseBody@RequestBody等注解搭配使用。

@RestController:标注于任意一个类上,声明该类属于Controller。与@Controller不同的是,@RestController可以返回JSON内容,而单独@Controller则不可以。@RestController无法跳转页面。

@RequestMapping
作用:映射HTTP请求到某个具体方法。参数内容如下:

  • value:请求的URL;
  • method:HTTP请求方式,可选值
  • RequestMethod.GET,RequestMethod.POST等;
  • consumes:媒体类型,可选值有"application/json"等;
  • produces:相应的媒体类型,可选值有"application/json"等;
  • params:请求的参数;
  • headers:请求的HTTP头的值。

@ResponseBody:标注某个被访问的方法返回类型前,该方法将会返回JSON类型而不是String或其它类型。需要注意的是,访问路径结尾必须是以.json结尾,否则可能报错。

@RequestBody:将json格式的数据转为java对象。

@PathVariable:将URL中的值映射到方法参数中。在@RequestMapping或其它的括号内使用{}来获取变量,在被调用的方法参数类型前使用该注解。

@GetMapping:标注于某个方法上,声明该类被访问的方式为Get类型。

@PostMapping:标注于某个方法上,声明该类被访问的方式为Post类型。

3.服务层注解

@Service:用于标注业务层组件,默认名称为类名。

@Slf4j:用作日志输出,在该类添加了该注释之后,就可以在代码中直接引用log.info( ) 打印日志了,该注解需要lombok插件

@Transactional:是声明式事务管理,在接口实现类或接口实现方法上添加,只有public的方法才起作用,只读的接口不需要使用事务接口。

4. 持久层注解

@Repository:主要用于数据库相关操作。

5.依赖注入注解

@Autowired:是Spring对组件自动装配的一种方式。常用于在一个组件中引入其他组件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值