超全SSM框架常用注解大全
一、MyBatis常用注解
注解 | 目标 | 描述 |
---|---|---|
@Arg | 方法 | 单独的构造方法参数,是@ConstructorArgs 集合的一部分 |
@CacheNamespace | 类 | 为给定的命名空间(比如类)配置缓存 |
@CacheNamespaceRef | 类 | 参照另外一个命名空间的缓存来使用 |
@Case | 方法 | 单独实例的值和它对应的映射 |
@ConstructorArgs | 方法 | 收集一组结果传递给对象构造方法 |
@Insert,@Update,@Delete | 方法 | 这些注解中的每一个代表了执行的真实SQL。它们都使用字符串数组(或单独的字符串)。如果传递的是字符串数组,则它们由分隔它们的单独空间串联起来 |
@InsertProvider,@UpdateProvider,@DeleteProvider | 方法 | 这些可选的SQL注解允许指定一个类名和一个方法在执行时返回运行的SQL。基于执行的映射语句,MyBatis会实例化这个类,然后执行由provider指定的方法。这个方法可以选择性地接受参数对象作为它的唯一参数, 但是必须只指定该参数或者没有参数 |
@Many | 方法 | 复杂类型的集合属性映射 |
@One | 方法 | 复杂类型的单独属性值映射 |
@Options | 方法 | 这个注解提供访问交换和配置选项,通常在映射语句上作为属性出现,而不是将每条语句注解变复杂 |
@Param | 参数 | 当映射器方法需要多个参数时,这个注解可以应用于映射器方法来给每个参数一一个名字。否则,多参数将会以它们的顺序位置来命名。比如#{1}、#{2} 等,这是默认的。若使用@Param(“person”), SQL中的参数应该被命名为#{person} |
@Result | 方法 | 在列和属性或字段之间的单独结果映射 |
@Results | 方法 | 结果映射的列表,包含了一个特别结果列如何被映射到属性或字段的详情 |
@TypeDiscriminator | 方法 | 组实例值,用来决定结果映射的表现 |
二、Spring和SpringMVC常用注解
注解 | 目标 | 描述 |
---|---|---|
@Before | 方法 | 定义前置增强 |
@After | 方法 | 定义最终增强 |
@AfterReturming | 方法 | 定义后置增强 |
@AfterThrowing | 方法 | 定义异常抛出增强 |
@Around | 方法 | 定义环绕增强 |
@Aspect | 类 | 定义切面 |
@Pointcut | 方法 | 定义切入点表达式 |
@Autowired | 属性或方法 | 实现Bean的装配,默认按类型装配 |
@Resource | 属性或方法 | 实现Bean的装配,默认按名称装配 |
@PostConstruct | 方法 | 被此注解标注的方法会在Bean初始化之后被Spring容器执行 |
@Cacheable | 方法 | 声明一个方法的返回值应该被缓存 |
@CacheFlush | 方法 | 声明一个方法是清空缓存的触发器 |
@Component | 类 | 被此注解标注的类都将由Spring容器进行管理,可以标注DAO、Service和Controller等类 |
@Controller | 类 | 用于标注控制器类 |
@Repository | 类 | 用于标注DAO类 |
@Service | 类 | 用于标注业务类 |
@ControllerAdvice | 类 | 能够将通用的@ExceptionHandler. @ InitBinder和@Mdetributes方法收集到一个类中,并应用到所有控制器上 |
@DateTimeFormat | 属性 | 可以用来格式化iavautil.Date、java.util.Calendar和 java.util.Long类型 |
@ExceptionHandler | 方法 | 配置在局部异常处理时定义异常处理 |
@InitBinder | 方法 | 添加自定义编辑器 |
@ModelAtrbute | 参数或方法 | 用到参数上,表明此参数的值来源于模型中的某个属性:用到方法上,表明此方法会在此控制器的每个方法执行前被执行 |
@NumberFormat | 属性 | 可以用来格式化任何数字类型(如int, long)或java.lang.Number的实例(如BigDecimal, Integer) |
@PathVariable | 参数 | 可以将URL中的xxx}占位符参数绑定到控制器处理方法的入参中 |
@PreDestroy | 方法 | 被此注解标注的方法会在Bean销毁之前被Spring容器执行 |
@Qualifer | 属性或方法 | 使用@Autowired时,如果找到多个同一类型的Bean,则会抛出异常,此时可以使用@Qualifer(“beanName”)明确指定Bean的名称进行注入 |
@RequestMapping | 类或方法 | 定义控制器方法和URL的映射关系 |
@RequestParam | 参数 | 指定被标注的方法入参和URL请求的参数的对应关系 |
@Required | 方法 | 用于检查特定的属性是否设置,如果没有设置则抛出异常 |
@ResponseBody | 方法 | 将标注该注解的处理方法的返回结果直接写入HTTP Response Body中 |
@Scope | 类 | 定义一个类的作用范围 |
@SessonAttributes | 类 | 使模型中的数据存储-份到ession城中 |
@Transactiona | 类或方法 | 为类或方法添加事务处理 |
参考文献:[1] 肖睿,肖静,董宁.SSM轻量级框架应用实战[M].人民邮电出版社,2018-05:984-985.