`
lumingming1987
  • 浏览: 116280 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Spring Annotation 详解

 
阅读更多

 

(1) 、<context:component-scan base-package="*.*" />
 该配置隐式注册了多个对注解进行解析的处理器,如:
 AutowiredAnnotationBeanPostProcessor     
 CommonAnnotationBeanPostProcessor
 PersistenceAnnotationBeanPostProcessor   
 RequiredAnnotationBeanPostProcessor
 其实,注解本身做不了任何事情,和XML一样,只起到配置的作用,主要在于背后强大的处理器
 其中就包括了<context:annotation-config/>配置项里面的注解所使用的处理器
 所以配置了<context:component-scan base-package="">之后,便无需再配置<context:annotation-config>


(2)、@Component、@Repository、@Service、@Controller、@Autowired、@Resource
 而Spring2.5就为我们引入了组件自动扫描机制
 它可以在classpath下寻找标注了@Service、@Repository、@Controller、@Component注解的类
 并把这些类纳入Spring容器中管理,它的作用和在XML中使用bean节点配置组件是一样的
 使用自动扫描机制,则需配置<context:component-scan base-package="com.jadyer"/>启动自动扫描
 其中base-package指定需要扫描的包,它会扫描指定包中的类和子包里面类
 @Service用于标注业务层组件
 @Repository用于标注数据访问组件,即DAO组件
 @Controller用于标注控制层组件,如Struts中的Action
 @Component泛指组件,当组件不要好归类时,可以使用这个注解进行标注
 1、可以使用诸如@Service("personDao")修改bean名称,而它默认的是将首字母小写的类名作为<bean>名称
 2、若要更改<bean>作用域的话,可以使用@Scope("prototype")注解来修改<bean>作用域

 一般使用@Resource注解,而不要使用@Autowired注解
 因为@Autowired注解是Spring提供的,而@Resource注解是J2EE提供的
 在JDK6中就已经包含@Resource注解了,所以它没有跟Spring紧密耦合


(3)、<tx:annotation-driven />
 @Transactional 注解可以被应用于接口定义和接口方法、类定义和类的 public 方法上。
 Spring团队的建议是你在具体的类(或类的方法)上使用 @Transactional 注解,而不要使用在类所要实现的任何接口上。
 @Service
 @Transactional(rollbackFor=Exception.class)   //对当前类的所有方法起作用
 @SuppressWarnings("serial")
 public class ButtonBo extends GlobalBo {
  ....
  @Transactional(propagation = Propagation.NOT_SUPPORTED, readOnly = true) //具体方法上
    public Button findButton(String buttonid) throws BaseException {
     return hibernateEntityDao.get(Button.class, buttonid);
   }
 }

分享到:
评论

相关推荐

    spring 的Annotation方式

    ### Spring的Annotation方式详解 #### 引言 随着Spring框架的发展,其依赖注入(DI)机制也经历了从XML配置向注解驱动的重大转变。自Spring 3.0版本起,框架引入了一系列注解来简化依赖配置,使得开发人员能够在不...

    spring的Annotation注解.

    ### Spring框架中的Annotation注解详解 #### 一、Spring与Annotation的基本概念 Spring框架通过引入Annotation,极大地简化了Java开发中的依赖注入(Dependency Injection, DI)和面向切面编程(AOP)的过程。...

    Spring Annotation (注解)详解

    Spring注解是Spring框架中的一种核心特性,它允许开发者在Java源代码中嵌入元数据,简化了XML配置,提高了代码的可读性和维护性。从Spring 2.5开始,注解成为主流配置方式,提供了更加简洁和直观的Bean定义和依赖...

    详解Spring基于Annotation的依赖注入实现

    技术分享:详解Spring基于Annotation的依赖注入实现

    详解Spring_3.0基于Annotation的依赖注入实现

    ### 详解Spring 3.0基于Annotation的依赖注入实现 #### 概述 Spring框架作为一个广泛使用的Java开发框架,提供了强大的依赖注入(Dependency Injection, DI)能力,帮助开发者轻松管理和组织复杂的Java应用。随着...

    spring的annotation-driven配置事务管理器详解 (多数据源配置

    Spring 的 Annotation-Driven 配置事务管理器详解(多数据源配置) Spring 框架提供了强大的事务管理机制,通过使用 Annotation-Driven 配置,可以方便地管理事务。在多数据源配置中,spring 的 Annotation-Driven...

    Spring事务详解

    XML配置中,&lt;tx:annotation-driven/&gt;元素用于启用声明式事务管理,而则定义了事务管理器。Java配置中,我们可以使用@Configuration和@EnableTransactionManagement注解来开启事务管理,并通过@Bean方法创建事务管理...

    Spring事务annotation原理详解

    Spring事务annotation原理详解 Spring框架中的事务管理是通过AOP(Aspect-Oriented Programming)来实现的,对于开发者来说,使用Spring的事务management功能,可以大大简化事务处理的复杂度。Spring的事务管理是...

    spring配置详解

    通过`&lt;jdbc:initialize-database&gt;`、`&lt;tx:annotation-driven&gt;`等特定的标签,可以方便地配置数据源、事务管理等。 八、Profile配置 Spring支持基于环境的配置,通过`profile`属性,我们可以定义在特定环境下生效的...

    Spring注解详解

    Spring注解详解 Spring框架中,注解(Annotation)是一种元数据,能够提供更多关于程序元素的信息,从而简化配置和编程。Spring从2.5版本开始支持注解,通过使用注解,可以使得Bean的配置更加简洁和灵活。 注册...

    spring使用annotation整合dwr笔记

    ### Spring使用Annotation整合DWR知识点解析 #### 一、概览 在现代Web开发中,Direct Web Remoting(简称DWR)是一种简化Ajax应用开发的技术,它允许JavaScript直接调用服务器端的Java方法,而无需编写复杂的XML...

    annotation hibernate struts spring springsecurity API中英文均有

    - **Spring事务详解.pdf**:这份文档深入讲解了Spring框架中的事务管理,包括编程式和声明式事务。 - **Hibernate+Annotation+文档.pdf**:详细介绍了如何使用Hibernate的注解进行对象关系映射。 这些资源可以帮助...

    【Spring AOP】@Aspect结合案例详解(一): @Pointcut使用@annotation + 五种通知

    在微服务流行的当下,在使用SpringCloud/Springboot框架开发中,AOP使用的非常广泛,尤其是@Aspect注解方式当属最流行的,不止功能强大,性能也很优秀,还很舒心!所以本系列就结合案例详细介绍@Aspect方式的切面的...

    Spring_Annotation_IOC代码

    **Spring注解驱动的依赖注入(IOC)详解** 在Java世界中,Spring框架以其强大的功能和易用性,成为企业级应用开发的首选框架之一。其中,依赖注入(Dependency Injection,简称DI)是Spring的核心特性,它使得组件...

    spring-security-helloworld-annotation

    《Spring Security HelloWorld 注解详解》 在Java Web开发领域,Spring Security是一个强大的安全框架,它提供了全面的安全管理解决方案。本文将深入探讨一个名为"spring-security-helloworld-annotation"的示例,...

    spring spEL 表达式详解

    **Spring SpEL(Spring Expression Language)表达式详解** Spring Expression Language,简称SpEL,是Spring框架中的一个强大表达式语言,用于在运行时查询和操作对象图。它提供了丰富的表达式语法,支持属性访问...

Global site tag (gtag.js) - Google Analytics