• spring的三种注入方式


    2018-07-29

    spring的依赖注入分为三种方式

    • 1.构造器注入
    • 2.setter注入
    • 3.接口注入

    构造器注入和setter注入是依赖注入的两种主要方式,接口注入是指从别的地方注入的方式。(通过在xml中描述,实现注入)

    一、构造器注入

    构造器注入依赖于构造方法的实现,----------构造方法可以是有参数的,也可以是无参数的 。

    在没有spring之前,我们在大多数情况下,我们都是通过构造方法来创建类对象,

    Spring可以采用反射的方式,通过构造方法来完成注入,这就是构造方法的原理。

    1.引入spring的支持

    2.通过描述具体的类,构造方法和其中的参数,这样spring就可以通过相应的信息用反射的方式创建对象。

    3.在test文件中加载spring配置文件的方法

    String configLocation ="applicationContext.xml";

    ApplicationContext context = new ClassPathXmlApplicationContext(configLocation);

    Role role = context.getBean("role", Role.class);

    在spring中一切的资源都是bean。

     

    二、spring中最主流的注入方式:setter注入

     

    setter注入利用JAVA Bean规范所定 

     

    注意:  构造器注入是通过构造方法注入,

           setter注入是通过setter方法注入

     

    首先将构造方法设置为无参的构造方法,然后利用setter注入为其设置新的值,

     

    这也是通过java的反射技术得以实现的

     

    注意:构造器注入和setter注入都是通过java的反射技术得以实现的。

     

    1     <!-- 下面是setter注入,需要一个无参的构造方法 -->
    2     <bean id="role1" class="com.pojo.Role" >
    3         <property name="id"    value="124"></property>
    4         <property name="name" value="张三"></property>
    5         <property name="age" value="2324"></property>
    6     </bean>

     

    三、spring依赖注入的第三种方式:接口注入

    有时候资源并非来自于自身的系统,而是来自于外界,

    比如说数据库连接资源完全可以在Tomcat下配置,

    然后通过JNDI的方式去获取它,这样的数据库连接资源就属于开发工程外的资源。

     

  • 相关阅读:
    【Leetcode】Insertion Sort List JAVA实现
    【Leetcode】Sort List JAVA实现
    Maximum Product Subarray JAVA实现
    hadoop2.0中无法启动datanode的问题
    合并排序
    setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式
    postgresql 服务器端编程之hello word
    mac osx get postgresql path
    mac osx install mysql
    django 基于proxy实现用户权限管理
  • 原文地址:https://www.cnblogs.com/xyblogs/p/8984053.html
Copyright © 2020-2023  润新知