zoukankan      html  css  js  c++  java
  • Spring注入中byType和byName的总结

    1.首先,区分清楚什么是byType,什么是byName。

    <bean id="userServiceImpl"
                class="cn.com.bochy.service.impl.UserServiceImpl"
                autowire="byName">
           </bean>  
          <bean id="userDao"                                         
                 class="cn.com.bochy.dao.impl.UserDaoImpl">
    </bean>

    比如说如上这段代码,byName就是通过Bean的id或者name,byType就是按Bean的Class的类型。

    若autowire="byType"意思是通过 class="cn.com.bochy.dao.impl.UserDaoImpl"来查找UserDaoImpl下所有的对象。

    代码autowire="byName"意思是通过id="userDao"来查找Bean中的userDao对象

    建议看 《Spring in Action》 第三章第一节,“自动装配 Bean 属性”

    在spring中@Autowired注入规则:

    1.@Autowired默认是按照byType进行注入的,但是当byType方式找到多个符合

    二.spring注入的基本语法如下:

    xml中语法如下:<bean id="beanId" class="包名.类名">

    如果是属性注入,需要为每一个依赖类创建相应的getter和setter方法。

    如果是构造方法注入,需要为依赖类创建相应的构造方法。

    属性注入的语法如下:

    <bean id="被注入的类的beanId" class="包名.类名" />

            <bean id="beanId" class="包名.类名">
                  <property name="被注入的bean的名字" ref="被注入的类的beanId"></property>
             </bean>

    如例子:

    <bean id="userService" class="com.uni2uni.spring.service.impl.UserService"> <property name="userDao" ref="userDao"></property> </bean>

    <bean id="userDao" class="com.uni2uni.spring.dao.impl.UserDao" />

    因为UserService依赖于UserDao,因此需要在userService中创建相应的getter和setter方法。

    UserService中的属性定义如下所示:

    参考:

    1.http://my.oschina.net/wlb/blog/282958

    http://www.cnblogs.com/_popc/p/3967885.html

    http://blog.csdn.net/zhiweianran/article/details/8659944

    http://www.cnblogs.com/elleniou/archive/2013/07/03/3168836.html

    java java.lang.NoClassDefFoundError 的解决办法(全)

    http://mvnrepo.alibaba-inc.com/nexus/ 

  • 相关阅读:
    i春秋CTF-web-upload
    [转]SEP 11.x 迁移
    通过SEP禁用USB
    通过SEP屏蔽共享文件夹
    SEP图示
    离线更新SEPM服务器的病毒定义库
    SEPM安装完之后的一些细节之处
    Bloomberg SEP 12.x 迁移小记
    LiveUpdate Adminstrator配置手册
    Symantec更新服务器
  • 原文地址:https://www.cnblogs.com/RunForLove/p/5528004.html
Copyright © 2011-2022 走看看