zoukankan      html  css  js  c++  java
  • Spring常用注解

    1.基于JAVA配置注解

    (@Bean)注解表明该方法会返回一个对象,并需要将其注册为Spring应用上下文中的bean,并且可以在方法中完成依赖注入;
    (@Configuration)注解表明此类为配置类,包含了Spring应用上下文中如何创建bean的细节;
    (@Component)注解表明该类会作为组件类,并告知Spring要为此类创建bean;
    (@ComponentScan(packName))注解表明在指定包下扫描带有Component注解的类,并为其创建bean;
    (@AutoWired)注解申明了依赖,自动装配,可以用于属性和set方法;
    (@Import(xxx.class))注解将括号中声明的JAVA配置类导入当前配置类;
    (@ImportResource(classpath:xxx.xml))注解将括号中声明的XML配置导入当前配置类;
    (@Profile())注解表明只有此Profile激活时(配置spring.profile.active和spring.profile.default),此Bean才会被创建,没有Profile注解的总是会被创建;
    (@Conditional(? implents Condition))注解表明只有给定条件计算结果为true时才会创建bean,可以用于带@Bean注解的方法上,括号内为实现了Condition接口的类;
    (@Primary)当匹配的Bean不止一个时,此注解可以设置首选,避免自动装配时的歧义性;
    (@Qualifier)注解使用限定符,在可选Bean上缩小范围最终达到只有1个Bean满足所规定的限制条件;
    (@Scope)注解声明了bean的作用域;proxyMode属性设置作用域代理,代理对bean进行懒解释并将调用委托给会话/请求作用域内真正的bean;
    (@Aspect)注解表明该类是一个切面;
       -(@Pointcut)注解表明在一个@Aspect切面内定义可重用的切点
       -(@After)注解表明通知方法会在目标方法返回或抛出异常后调用;
       -(@AfterReturning)注解表明通知方法会在目标方法返回后调用;
       -(@AfterThrowing)注解表明通知方法会在目标方法抛出异常后调用;
       -(@Around)注解表明通知方法会将目标方法封装起来;该通知方法需要接受ProceedingJoinPoint作为参数,通过它来调用被通知的方法,当要将控制权交给被通知方法时,需要调用它的proceed方法;
       -(@Before)注解表明通知方法会在目标方法调用之前执行;
       -(@DeclareParents)注解表明将接口引入到bean中;所标注的静态属性指明了要引入的接口;
          -(value)属性指定了哪种类型的bean要引入该接口,+号表示该类的所有子类且不包含该类自身;
          -(defaultImpl)属性指定了为引入功能提供实现的类;
    (@EnableAspectJ-AutoProxy)注解表明可以在配置类@Configuration的类级别上使用此注解启动自动代理功能,自动代理会为使用@Aspect注解的bean创建一个代理,此代理会围绕该切面的切点所匹配的bean;
    (@EnableWebMvc)启用Spring MVC;
    (@Controller)声明一个控制器,基于@Componet注解,辅助实现组件扫描;
       -(@RequetsMapping)注解声明了它们所要处理的请求,可以在类和方法上声明;
           -(value)指定了该方法索要处理的请求路径;
           -(method)属性细化了它所处理的HTTP方法(get, post);
           (@RequestParam) 
           (@PathVariable)

    2.XML声明

    <component-scan:package>声明在指定包中寻找带有Component注解的类,并为其创建bean;
    <bean class = ?>导入JAVA配置类;
    <import resource = ?> 导入XML配置;
    <bean>声明一个bean
       -(id)bean的名称;
       -(class)bean对应的类;
       -(scope)设置bean的作用域;
       -<constructor-arg>表明通过构造器注入依赖
          -(ref)表明通过bean名称(id)注入一个bean引用;
          -(value)表明给定的值以字面量的形式通过构造器注入;
          -(<list>)表明注入包含值的列表;
          -(null)表明注入一个null;
       -<property>表明通过set方法注入依赖
          参数同上;
    <aop:scoped-proxy proxy-target-class = “true/false”>设置作用域代理;
    <aop:config>顶层的AOP配置元素;
       <aop:advisor>定义AOP通知器;
       <aop:aspect>定义一个切面;
          -(ref)属性引用一个实现切面功能的bean;
          <aop:pointcut />定义一个切点,也可以放在<aop:config>内被多个切面使用;
             -(id)属性表明切点名称;
             -(expression)属性声明了切点表达式;
          <aop:before>定义一个AOP前置通知;
             -(pointcut-ref)属性表明引用的切点名称;
             -(method)属性表明织入切点的方法名称;
          <aop:after>定义AOP后置通知(不管被通知的方法是否执行成功);
          < aop:after-returning >定义AOP返回通知;
          < aop:after-throwing >定义AOP异常通知;
          < aop:around >定义AOP环绕通知;
          <aop:declare-parents>声明了此切面所通知的bean要在它的对象层次结构中拥有新的父类型;
             -(types-matching)属性指定哪种类型的bean要引入该接口,+号表示该类的所有子类且不包含该类自身;
             -(implement-interface)属性指定了上述bean引入的接口类;
             -(default-impl)属性指定了为引入功能提供实现的类;
             -(delegate-ref)属性引用一个实现了引入功能的bean;
    <aop: aspectj-autoproxy />启动AspectJ自动代理;
  • 相关阅读:
    [笔记]流行数据库SQL差异分析之“不从实体表中取得数据”
    如何评价架构的优劣(转)
    Entity Framework 学习总结之一:ADO.NET 实体框架概述
    [笔记]流行数据库SQL差异分析之“自动增长字段”
    Entity Framework 学习总结之十:加载相关对象
    Entity Framework 学习总结之九:LinqToEntities
    Entity Framework 学习总结之二:数据访问区别
    3、网站前端优化11条笔记汇总
    Entity Framework 学习总结之八:EntitySQL 复杂查询及函数
    Entity Framework 学习总结之七:EntitySQL 基本查询
  • 原文地址:https://www.cnblogs.com/mzdljgz/p/11176312.html
Copyright © 2011-2022 走看看