Java开发中的常用注解
Spring框架注解
@Bean
- 作用:通过使用@Bean注解,开发者可以声明方法,并将其返回值注册为Spring容器中的一个Bean。
- 使用对象:方法
@Beanpublic HelloService helloService(){return new HelloService();}
@Component
- 作用:将一个普通Java类标记为Spring容器管理的Bean,使其能够被自动扫描、实例化并通过依赖注入使用;
- 使用对象:类
@Repository
- 作用:标识数据访问层组件,它不仅提供了@Component注解的所有功能,还增加了数据访问相关的异常处理;
- 使用对象:类
@Service
- 作用:标记服务层组件,有@Component注解的所有功能,因为它的注解定义中包含了@Component;
- 使用对象:类
@Controller
- 作用:
- 1、标记控制器组件:标记一个类为控制器类,使其成为一个Spring管理的Bean;
- 2、处理HTTP请求:标记的类中,可以包含多个方法来处理不同的HTTP请求,这些方法通常使用@RequestMapping或其快捷方式(如@GetMapping、@PostMapping等)来制定处理特定URL路径和HTTP方法的规则;
- 3、与视图层交互:控制器方法可以返回视图名称;
- 4、数据绑定和验证:控制器方法可以通过参数接收来自请求的数据;
- 5、支持依赖注入;
- 使用对象:类
@ResponseBody
- 作用:将控制器方法的返回值直接写入HTTP响应体中,而不是作为视图名称解析。当使用了ResponseBody的方法执行完毕后,Spring会自动将返回的对象转换为相应的格式(如JSON、XML等),并将其作为HTTP响应的内容发送给客户端(简单来说就是,直接返回数据)。
- 使用对象:类或者方法
@ResController
- 作用:是@Controller+@ResponseBody的组合;
- 使用对象:类
@Configuration
- 作用:标识一个类为配置类,用于定义和管理Bean的创建和配置;
- 使用对象:类
@Value
- 作用:
- 读取配置文件:@Value注解可以从application.properties或application.yml配置文件中读取属性值,并将其注入到Bean的字段中;
- 读取系统属性和环境变量:可以从系统属性和环境变量中读取值并注入到Bean中;
- 支持SpEL表达式:可以使用Spring表达式语言进行复杂的表达式注入;
- 使用对象:成员变量;
- 用法,举例:
@Value("${app.name}")private String appName;
@Mapper
- 作用:在MyBatis中的作用是标记一个接口为Mapper接口,这样MyBatis就可以自动扫描到这个接口,并将其注册为一个Spring Bean,从而使得接口中的方法可以直接调用对应的数据库操作。使用@Mapper注解可以避免编写繁琐的XML映射文件,使得代码更加简洁和易于管理;
通常是结合@MapprScan注解一起使用的,指定扫描的包路径,例如:
@SpringBootApplication
@MapperScan("com.lq.learn.mapper")
public class LearnApplication {public static void main(String[] args) {SpringApplication.run(LearnApplication.class, args);}}
- 使用对象:接口
@SpringBootApplication
- 作用:标记这个类,为SpringBoot项目的启动类,提供一个方便的组合注解,用于简化SpringBoot应用程序的配置和启动;
- 使用对象:类