Spring框架中的一些常见注释

一、@Autowired

@Autowired:是一种注解,可以对成员变量、方法和构造函数进行标注,来完成自动装配bean的工作表示装配,会从spring容器中按属性类型对应的Bean对象(这个过程叫依赖查找-DL),假如只有一个则直接注入,假如有多个,还会基于属性名与bean对象的名字进行匹配,假如有匹配的则直接注入,没有匹配抛出异常(依赖注入异常UoUniqueBeanDefinitionException)

1 @Autowired
2 private DataSource dataSource; //DataSource是数据源接口(可以连接到连接池),dataSource是定义的一个bean对象,可以调用方法

二、@SpringBootTest

@SpringBootTest:加载ApplicationContext,启动spring容器,添加这个注释后悔自动检索程序的配置文件,检索顺序是从当前包开始,逐级向上查找被@SpringBootApplication或@SpringBootConfiguration注解的类

三、@Test

@Test:单元测试

四、@Scope

@Scope:用来配置spring bean的作用域,它标识bean的作用域

默认值是单例

1、@singleton:单例模式,全局有且仅有一个实例

2、@prototype:多例(原型)模式,每次获取Bean的时候会有一个新的实例

五、@Qualifier

@Qualifier:需要配置Autowired注释使用,不能单独使用,用于指定要注入的bean对象

六、@Lazy

@lazy:延迟对象的实例的创建,用的时候再去创建

七、@ReponseBody

@ReponseBody:描述Handler中的方法,用于告诉底层应该如何对方法的返回值进行处理,例如此注解描述的方法,其返回值肯定不是view,可能是json,也可能是map,还有可能是普通字符串等,同时告诉底层方法返回值的转换,结果最终要写到响应体,然后传输到客户端

八、@RestController

@RestController:描述Handler类型,用于定义此类是一个Controller请求处理对象,同时类中所有方法都默认添加@ResponseBody注解

九、@Data

@data注解的作用:不用额外的使用setter、getter方法,配置好以后就可反复使用。

十、Mapping

1、@Mapping

把mapper这个DAO交给spring管理,省去写mapper映射文件,给mapper自动添加@Mapper注解的接口生成一个实现类

2、@GetMapping("/path")

一般应用于查询数据的请求方法定义

3、@PostMapping("/path")

一般应用于添加数据的请求方法定义

4、@DeleteMapping("/path")

一般应用于删除数据的请求方法定义

5、@PutMapping("/path")

一般应用于更新数据的请求方法定义

十一、参数注释

1、@RequestParam

定义参数规则,例如参数是否可选,指定获取哪个参数的值

2、@DateTimeFormat

定义可以获取的日期的日期格式

3、@RequestBody

表示参数可以接收客户端post请求提交的json数据

4、@PathVariable

表示参数的值来自url中{}表达式中的数据

十二、springmvc注释

1、@Controller(controller层)

用于标记在一个类上,标识这个类是一个Springmvc Controller对象,通俗来说,这个类就是一个控制器,这个类中的方法,就是相应的动作

2、@RequestMapping

用来处理请求地址映射,可用于累活方法上,用于类上,表示类中的所有响应请求的方法都是以地址作为父路径

3、@Service(service层)

用于标注业务层套件,其实就是加入你有一个用注解的方式把这个类注入到spring配置中

4、@Repository(dao层)

用于标注数据访问组件,即DAO组件

5、@Component

标注一个类为Spring容器的Bean,(把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>)

6、总结

@Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法。通俗来说,被Controller标记的类就是一个控制器,这个类中的方法,就是相应的动作。

1、@controller 控制器(注入服务)

2、@service 服务(注入dao)

3、@repository dao(实现dao访问)

4、@component (把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>)

原文地址:https://www.cnblogs.com/houyu/p/14186013.html