• Spring 扫描注入


      上一篇学到了怎么在spring的配置文件中进行bean的定义,但这种做法实际开发中很少采用的,将所有的类都写在配置文件里会造成配置文件的庞大混乱,为了解决这种复杂的配置,Spring中提供了自动的扫描注解配置:配置一个扫描包名称,就可以根据注解自动实现bean的配置管理。

      定义一个扫描的基础包名称,当容器启动的时候可以根据项目路径和包名称实现路径的平凑并且自动扫描所有的子目录的文件,同时使用Class.forName()实现类名称的反射加载。

    配置扫描包之前需要引入context命名空间

    【spring-base】修改spring-base.xml文件,追加扫描包。

      1、增加一个父扫描包

        <context:component-scan base-package="cn.lt.ltspring"/>

      2、也可以定义多个 扫描包

        <context:component-scan base-package="cn.lt.ltspring.dao.impl,cn.lt.ltspring.service.impl">

      3、之后再需要生成bean对象的类上使用规定的注解就可以生成bean对象了,spring提供有四种注解形式(其效果相同)

          @Component组件,相当于<bean id="dept" class="cn.lt.ltspring.vo.Dept">

          @Repository:一般用于数据层定义

          @Service:一般用于业务层注解

          @Controller:一般用于控制层注解

      4、之后就可以在另一个类中使用@Resource或者@AutoWired来使用这个bean对象了。

    面试题:@Resource和@Autowired有什么区别?

      @Resource注解由JavaEE标准定义的资源注入,@Aurowired由Spring定义

      @Aurowired和@Resource都具有byName和byType的支持

      @Resource  默认按名称进行装配,通过name属性进行指定,@Autowired  默认按类型装配

  • 相关阅读:
    ssh无密码登录 及集群分发脚本
    Hbase安装及客户端测试及笔记
    Zookeeper 的分布式安装部署及客户端测试
    搭建hadoop-完全分布式模式
    虚拟机的linux没有mac地址
    servlet-Listener 的复习
    纯servlet 达到spring的自动装配
    JDBC的复习 和工具类总结
    C#中的弱事件(Weak Events in C#)
    WeakReference(弱引用)
  • 原文地址:https://www.cnblogs.com/haibinggan-/p/9234557.html
Copyright © 2020-2023  润新知