zoukankan      html  css  js  c++  java
  • 基于注解配置spring

    1 对 bean 的标注基于注解方式有3个注解

    • @Component
    • @Repository 对DAO类进行标注
    • @Service 对Service类进行标注
    • @Controller  对Controller类进行标注

    2 想要 spring 获得基于注解的bean 需要配置 <context:component-scan /> 进行扫描,并从注解中获得配置信息。

    3 自动装配 bean ,使用 @Autowired 注解实现 Bean 的依赖注入。@Autowired 默认按照类型匹配 byType 的方式在容器中查找匹配的bean。当且仅有一个匹配的 bean 时,spring 将其注入到

    @Autowired 标注的变量中。

    如果在Spring启动时没有一个和标注变量类型匹配的 bean ,则会抛出 NoSuchBeanDefinitionException 异常,如果希望 Spring 即使找不到匹配的 bean 也不要抛出异常,可以使用

    @Autowired(required=false) 进行标注

    3.2 如果容器中有一个以上匹配的 bean ,则可以通过使用@Qualifier 注解限定 bean 名称

    3.3 @Autowired 可以对类方法进行标注,如果方法有多个入参数,默认情况下,Spring 将自动选择匹配入参类型的 bean 进行注入,spring 允许对方法入参标注 @Qualifier 以指定

    注入 bean 的名称

    说明:虽然spring 支持属性和方法标注 @Autowired ,但是推荐使用方法上注入,方便以后的单元测试。因为标注在私有属性中很难用编程方式设置属性值

    3.4 延迟依赖注入,通过使用 @Lazy 注解的bean , 不会立即注入,而是会延迟到调用此属性的时候才会注入属性值。

    @Lazy 必须注解和 bean 标注同时使用

    4 @Scope 用于指定 bean 的作用域范围,singleton,prototype。使用<bean> 配置时可以通过 init-method 和 destroy-method 属性指定 bean 的初始化及销毁前执行的方法。

    相应的注解方法是通过 @PostControst 和 @PreDestroy, 在bean 中通过这两个标签指定 init-method 和 destroy-method 方法

  • 相关阅读:
    Hibernate---对象的三种状态
    grunt+bower依赖管理
    grunt 的安装和简单使用
    sqlserver dmv 动态管理视图
    ado.net 数据库连接池
    桥接模式
    .net MVP
    主定理(分治算法)
    图中环的判断
    选举协议paxos 协议 理解
  • 原文地址:https://www.cnblogs.com/zhaopengcheng/p/7366549.html
Copyright © 2011-2022 走看看