zoukankan      html  css  js  c++  java
  • 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、配置SSH无密码登录 ssh localhost
    ubuntu系统中java开发环境的搭建
    大二暑假周进度报告之七
    大二暑假周进度报告之六
    Hadoop2.9.1安装教程_环境Ubuntu_VMware安装
    大二暑假周进度报告之五
    DDWRT路由WEB认证之Wiwiz
    在不支持jffs2的DD-WRT里安装Wiwiz的3种方法
    nodogsplash在指定网络下工作
    使用wiwiz实现WiFi无线热点认证与计费网关
  • 原文地址:https://www.cnblogs.com/haibinggan-/p/9234557.html
Copyright © 2011-2022 走看看