@Component: 找到并定义bean,在核心配置文件中,将被标记的类交给spring创建,并且存储到Ioc容器中,
衍生的3个注解为:
@Repository:用于dao层的类上[mybatis框架只需要提供接口,不常用
@Service:用于service层的类上
@Contollerl:用于web层的类上
@Configuration: 用来指定当前类,为配置类
@ComponentScan: 用于设定扫描路径
@Scope(“protorype”) : 更改单例为非单例
@PostConstruct: 构造方法后
@PreDestroy: 彻底销毁前
@Qualifier: 指定注入的名称(解决按类型的耦合),优先级没有AutoWired高,并且不可以单独使用
@Value: 简单类型注入
@Autowired: 自动装配(按类型装配)
@PropertySource(): 用来加载外部配置文件.不支持通配
@Bean: 表示当前方法的返回值是一个bean
@Import: 配置类中导其他配置类的方式
@RunWith: 设定Run运行器
@ContextConfiguration: 加入类加载器
@Pointcut: 定义切入点
@Aspect: 告诉spring是用来做AOP的
@EnableAspectJAutoProxy: 开启注解开发AOP功能
@EnableCaching: 开启缓存功能
@Cacheable: 基于aop思想,表示有了缓存功能,并把返回值保存下来,下次调用会检查,又返回,没有 就调用方法,然后把结果缓存下来.
@CachePut: 会把返回值写入都Redis中,不会进行检查
@CacheEvit::使用到此注解的方法,会清空指定缓存
@Caching: (
evict = {
@CaChe
}
)
@EnableTransactionManagement: 开启spring事务管理
@Before: 前置通知,设置在切入点之前运行
@After: 后置通知
@Around: 环绕通知- - - - 需要定义ProceedingJoinPoint,表示对原始操作的调用
@AfterReturning: 返回后通知
@AfterThrowing: 抛出异常后通知
@Transactional: 开启Spring事务管理
( 其中有一些属性分别为:
readOnly 是否读写
rollbsckeFor = 那些异常回滚,默认情况下只针对运行时异常回滚
propagation = 事务协调员对失物管理员的态度
)
@RequestMapping: 用来定义访问资源路径,可用类或者方法上
@ResponseBody:响应的内容按照JSON数据返回值响应,设置当前返回值为响应体
@EnableWebMvc: 开启JSON
@DataTimeFormat: 该注解指定某种日期数据格式
@JsonFormat(pattern=”格式”): 使用jeckson修改日期模式
@RequestBody:用来接收json格式的数据
@RequestParam: 封装为集合需要加到参数类型前
@RequestBody:用来接收json格式的数据
@DataTimeFormat: 接收时间参数
@RequestParam: 用来接收键值对的数据,封装为集合需要加到参数类型前
@PathVariable: 接收路径参数
@RestController:该注解是ResponseBody和Controller的简化
@RestControllerAdvice:定义当前类为异常处理器
@ExceptionHandler: 专用于控制器处理异常
@ConfigurationProperties::,指定前缀,告诉哪个属性加载到配置当中
@Mapper: 是加在dao接口上,可以在引导类上加一个
@MapperScann: 包扫描,可以避免多个dao每个都要加的@Mapper注解
@TableField: (
values 对应数据库的属性字段,+exist 定义此字段是否存在
select:是否展示
)
@TableName: 做一个映射关系,设定当前类和表的关系
@TableId: 设置id生成策略
@TableLogic (value = “0” , delval = “1”),对要删除的字段进行标记,0代表没有删除,
1代表已经删除
@EnableScheduling: SpringTask的开启
@RabbitListener: 可以使用监听器