Spring中注解汇总

一、类上添加注解

1、@Component/@Controller/@Service/@Repository

作用:将该类设置为bean

Spring中注解汇总_第1张图片

@Controller:表现层 控制层,控制业务逻辑

@Service:业务层 service层:业务层控制业务(业务逻辑层)

@Repository:数据层 dao层:主要是和数据库进行交互。也被称为mapper层

2、@Configuration和@ComponentScan

两个注解结合在一起使用

@Configuration注解用于设定当前类为配置类

Spring中注解汇总_第2张图片

@ComponentScan注解用于设定扫描路径,此注解只能添加一次,多个数据请用数组格式

Spring中注解汇总_第3张图片

此外:还可设置哪些不被扫描。

例如:

Spring中注解汇总_第4张图片

3、@Scope

作用:设置当前创建的bean是单例还是非单例

Spring中注解汇总_第5张图片

例如:非单例,默认是单例不用填写

Spring中注解汇总_第6张图片

4、@PropertySource需要@value配合(properties中内容)

作用:读取properties配置文件中的数据,采用的是key-value的方法,key之前是放在xml文件中,现在是使用配置类来代替了xml文件,所有在配置类中进行添加这个注解。

例如:

步骤一:

Spring中注解汇总_第7张图片

步骤二:

Spring中注解汇总_第8张图片

读取多个属性

Spring中注解汇总_第9张图片

5、@Import

作用:在springConfig的配置类中,对第三方bean的配置类进行扫描到,并被Spring管理

例如:

Spring中注解汇总_第10张图片

Spring中注解汇总_第11张图片

6、@RunWith

Spring中注解汇总_第12张图片

例如:

7、@ContextConfiguration

Spring中注解汇总_第13张图片

作用:添加的是Spring管理的主要配置类

例如:

8、@EnableAspectJAutoProxy

作用:在配置类上面进行添加,表示spring中存在AOP。

Spring中注解汇总_第14张图片

9、@Aspect

作用:在通知类上面添加注解。

Spring中注解汇总_第15张图片

通常是和四个注解一起使用:@EnableAspectJAutoProxy、@Aspect、@Pointcut和@Before组成Spring中的AOP开启。

10、@EnableTransactionManagement

作用:在spring主配置中进行添加,开启事务支持

Spring中注解汇总_第16张图片

11、RequestMapping(映射路径)

作用:使得前端可以访问请求到后端,使得被请求后执行后端的该路径位置的程序和返回前端相应的数据。

Spring中注解汇总_第17张图片

例如:前端访问

就会访问到后端的这个位置:

Spring中注解汇总_第18张图片

12、@ResponseBody

作用:使得数据以json的格式返回到前端

Spring中注解汇总_第19张图片

例如:

Spring中注解汇总_第20张图片

13、@EnableWebMvc(SpringMVC接收和json数据)

作用:在SpringMVC配置类中添加注解,方便来自前端json的接收,即后端对接收的json数据进行接收。

Spring中注解汇总_第21张图片

14、@RestController

作用:快速开发RESTFUL风格。将原来的注解进行合并

Spring中注解汇总_第22张图片

15、@RestControllerAdvice(REST风格的异常处理)

Spring中注解汇总_第23张图片

通常还和注解@ExceptionHandler进行配合使用,用于处理指定的某些异常。

注:确保SpringMvcConfig能够扫描到异常处理器类

二、方法上添加注解

1、@PostConstruct

作用:bean初始化,在调用方法前就启动了。

Spring中注解汇总_第24张图片

2、@PreDestroy

作用:在bean方法结束前使用,通常需要和ctx.close():该语句是关闭容器IOC,不关闭毁灭的方法来不及加载。

Spring中注解汇总_第25张图片

3、@bean

Spring中注解汇总_第26张图片

4、@Pointcut

作用:在通知类内部添加一个属性,作为与需要增强的连接点连接的切入点。在该属性上面进行添加@Pointcut注解。

Spring中注解汇总_第27张图片

5、@Before、@After、@AfterReturning、@AfterThrowing和@Around

作用:实际上就是切面,表示和通知方法与切入点之间的关联

Spring中注解汇总_第28张图片

其他的通知类注解:

Spring中注解汇总_第29张图片

Spring中注解汇总_第30张图片

Spring中注解汇总_第31张图片

Spring中注解汇总_第32张图片

回环通知的注意:

Spring中注解汇总_第33张图片

6、@Transactional

Spring中注解汇总_第34张图片

7、@GetMapping @PostMapping@PutMapping@DeleteMapping

作用:替换原来这些重复的内容,进行注解替换

Spring中注解汇总_第35张图片
Spring中注解汇总_第36张图片

8、@ExceptionHandler

作用:通常处理指定的异常。

Spring中注解汇总_第37张图片

放置于专门处理异常类中。这个异常类通常需要在类上面添加注解@RestControllerAdvice

三、属性上添加注解

1、@Autowired和@Qualifier

作用:给setter注入和构造器注入进行配置,去掉了这些注入,在属性上进行添加注解

Spring中注解汇总_第38张图片

1、如果存在多个bean的情况发生,但是属性的bean和IOC容器的bean相同时,会采取的是按照名称进行查询。虽然@Autowired是按照类型进行查询的,但这种情况下是可以对多个bean进行按照名称查询。

例如:

Spring中注解汇总_第39张图片

2、如果IOC容器中的名称和属性的名称不一致,那么需要使用@Qualifier,来指定注入那个名称的bean对象。

Spring中注解汇总_第40张图片
Spring中注解汇总_第41张图片
Spring中注解汇总_第42张图片
Spring中注解汇总_第43张图片

2、@Value

作用:普通数据类型的注解,注意@value后面的参数和属性的数据类型保持一致。

Spring中注解汇总_第44张图片
Spring中注解汇总_第45张图片

四、参数上添加注解

1、@RequestParam

作用:解决前端的参数名称和后端参数名称不一致的情况,将前端的参数名称转换成后端的参数名称。

例如:

Spring中注解汇总_第46张图片

后端的参数名称是:userName。前后不一致,导致数据无法匹配接收。

Spring中注解汇总_第47张图片

也用在集合参数中:

例如:

Spring中注解汇总_第48张图片

Spring中注解汇总_第49张图片

2、@RequestBody

作用:接收json的数据,必须在形参位置处进行添加该注解

Spring中注解汇总_第50张图片
Spring中注解汇总_第51张图片

注解对比:@RequestParam和@RequestBody

Spring中注解汇总_第52张图片

3、@PathVariable

作用:传递参数信息

Spring中注解汇总_第53张图片

例如:

Spring中注解汇总_第54张图片

你可能感兴趣的:(#,Spring,spring,java,mybatis)