Spring:
@Component:用于加入Spring容器,实例化并注册Java Bean
@Configuration:作用同@Component
@Bean:作用同@Component,但自定义灵活性更好
@Service:作用同@Component,用于实例化注册Java Bean。作用在实现类上,Spring框架会自动把接口和实现类绑定,也就是说接口对象可以直接注入实现类的bean
@Repository:作用同@Component,用于实例化注册Java Bean
@Autowired:用于Java Bean的注入,默认按type匹配,如果匹配不到再按name匹配,若是多个类实现该接口,则需要通过@Qualifier或者name属性值来做区分
@Transactional:用于事务管理,可以对事务进行回滚、传播、隔离等操作
InitializingBean 接口:重写 afterPropertiesSet() 方法,等效JDK中的 @PostConstruct 注解
BeanPostProcessor 接口:主要作用就是帮助我们在bean实例化之后,初始化前后做一些事情
SpringMVC:
@RestController:用于标记当前类是控制层,等效于@Controller + @ResponseBody的组合,最终响应到客户端的是json格式数据
@RequestMapping:作用是映射URL路径,将http的请求地址映射到控制器(controller)类的处理方法上
@RequestParam:用于映射基本类型的参数,可以控制是否非空必须
@RequestBody:用于接收请求体参数,通常用于接收json格式或xml格式请求体
@PostMapping:restful api风格之一,对应新增接口。具有非幂等性
@DeleteMapping:restful api风格之一,对应删除接口
@PutMapping:restful api风格之一,对应更新接口
@GetMapping:restful api风格之一,对应查询接口
JDK:
@Resource:
1、负责Java Bean的注入装载,默认根据name属性的值匹配,如果匹配不到就进行type匹配
2、对于接口, 会去寻找其实现类进行匹配, 所以需要注意有多个实现类的时候, 会匹配出多个结果, 如果不指定name值, 会报异常
@PostConstruct:服务启动并且java bean注册完成之后,会执行此标记的方法,Spring中提供的 InitializingBean、BeanPostProcessor接口类似