Spring基本注解
名称 | 作用 |
---|---|
@Component | 使用此注解描述Spring中的Bean,但他是一个泛化的概念,仅仅表示一个组件(Bean),并且可以作用在任何层次,使用时只需要将该注解标注在相应类上即可 |
@Repository | 用于将数据访问层(Dao)的类吧标识为Spring中的Bean,功能与Component相似 |
@Service | 通常作用在业务层(Service层),用于将业务层的类标识为Spring中的bean |
@Controller | 通常用于控制层(controller层),用于将控制层的类标识为Spring中的bean |
@Autowired | 用于对Bean的属性变量、属性的setter方法以及构造方法进行标注,配合对应的注解处理器完成Bean的自动配置工作。默认按照Bean的类型进行装配 |
@Resource | 其作用与@Autowired一样.其区别在于@Autowired默认按照Bean类型装配,而@Resource默认按照Bean实例名称进行装配。@Resource中有两个重要属性:name和type,Spring将name属性解析为Bean实例名称,type属性解析为Bean实例类型。如果指定name属性,则按实例名称进行装配;如果指定type属性,则按Bean类型进行装配;如果都不指定,则先按Bean实例名称装配,如果不能匹配,再按照Bean类型进行装配;如果都无法匹配,则抛出 NoSuch BeanDefinitionException异常。 |
@Qualifier | 与@Autowired注解配合使用,会将默认的按Bean类型装配修改为按Bean的实例名称装配,Bean的实例名称由@Qualifier注解的参数指定。 |
AOP/AspectJ 相关注解
注解 | 作用 |
---|---|
@Aspect | 用于定义一个切面 |
@Pointcut | 用于定义切入点表达式。在使用时还需定义一个包含名字和任意参数的方法签名来表示切入点名称。实际上,这个方法签名就是一个返回值为void,且方法体为空的普通的方法 |
@Before | 用于定义前置通知,相当于 BeforeAdvice。在使用时,通常需要指定一个vaue属性值,该属性值用于指定一个切入点表达式(可以是已有的切入点,也可以直接定义切入点表达式) |
@AfterReturning | 用于定义后置通知,相当于 AfterReturningAdvice。在使用时可以指定 pointcut/value和returning属性,其中 pointcut/value这两个属性的作用一样,都用于指定切入点表达式.returning属性值用于表示 Advice方法中可定义与此同名的形参,该形参可用于访问目标方法的返回值 |
@Around | 用于定义环绕通知,相当于 MethodInterceptor。在使用时需要指定一个vaue属性,该属性用于指定该通知被植入的切入点 |
@AfterThrowing | 用于定义异常通知来处理程序中未处理的异常,相当于 ThrowAdvice。在使用时可指定pointcut/value和 throwing属性。其中 pointcut/value用于指定切入点表达式,而 throwing属性值用于指定一个形参名来表示 Advice方法中可定义与此同名的形参,该形参可用于访问目标方法抛出的异常 |
@After | 用于定义最终fina通知,不管是否异常,该通知都会执行。使用时需要指定一个 value属性,该属性用于指定该通知被植入的切入点 |
@DeclareParents | 用于定义引介通知,相当于 ntroductionInterceptor |
学习随笔 未完