zoukankan      html  css  js  c++  java
  • 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的方式去获取它,这样的数据库连接资源就属于开发工程外的资源。

     

  • 相关阅读:
    内存分配略谈
    变量声明顺序和指针偏移问题示例
    解决You have to be inside an Angular CLI project in order to use the serve command
    Linux中将命令放到全局
    Linux设置vim显示行号
    根据指定的excel模板导出数据
    解决 Maven工程运行报错Failed to clean project: Failed to delete
    springcloud工作用常用到的一些注解
    cmd窗口备份mysql数据库
    调用存储过程msql
  • 原文地址:https://www.cnblogs.com/xyblogs/p/8984053.html
Copyright © 2011-2022 走看看