一、类上添加注解
1、@Component/@Controller/@Service/@Repository
作用:将该类设置为bean

@Controller:表现层 控制层,控制业务逻辑
@Service:业务层 service层:业务层控制业务(业务逻辑层)
@Repository:数据层 dao层:主要是和数据库进行交互。也被称为mapper层
2、@Configuration和@ComponentScan
两个注解结合在一起使用
@Configuration注解用于设定当前类为配置类

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


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

例如:

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

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

4、@PropertySource需要@value配合(properties中内容)
作用:读取properties配置文件中的数据,采用的是key-value的方法,key之前是放在xml文件中,现在是使用配置类来代替了xml文件,所有在配置类中进行添加这个注解。
例如:
步骤一:

步骤二:

读取多个属性


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


6、@RunWith

例如:

7、@ContextConfiguration

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

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

9、@Aspect
作用:在通知类上面添加注解。

通常是和四个注解一起使用:@EnableAspectJAutoProxy、@Aspect、@Pointcut和@Before组成Spring中的AOP开启。
10、@EnableTransactionManagement
作用:在spring主配置中进行添加,开启事务支持

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

例如:前端访问

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

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

例如:

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

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

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

通常还和注解@ExceptionHandler进行配合使用,用于处理指定的某些异常。
注:确保SpringMvcConfig能够扫描到异常处理器类
二、方法上添加注解
1、@PostConstruct
作用:bean初始化,在调用方法前就启动了。

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

3、@bean

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

5、@Before、@After、@AfterReturning、@AfterThrowing和@Around
作用:实际上就是切面,表示和通知方法与切入点之间的关联

其他的通知类注解:




回环通知的注意:

6、@Transactional

7、@GetMapping @PostMapping@PutMapping@DeleteMapping
作用:替换原来这些重复的内容,进行注解替换


8、@ExceptionHandler
作用:通常处理指定的异常。

放置于专门处理异常类中。这个异常类通常需要在类上面添加注解@RestControllerAdvice
三、属性上添加注解
1、@Autowired和@Qualifier
作用:给setter注入和构造器注入进行配置,去掉了这些注入,在属性上进行添加注解

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

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




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


四、参数上添加注解
1、@RequestParam
作用:解决前端的参数名称和后端参数名称不一致的情况,将前端的参数名称转换成后端的参数名称。
例如:

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

也用在集合参数中:
例如:


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


注解对比:@RequestParam和@RequestBody

3、@PathVariable
作用:传递参数信息

例如:
