zoukankan      html  css  js  c++  java
  • Spring 配置文件注入

    一、Spring配置文件注入

    package com.zxguan.demo;
    
    public class Person {
        
        private String name;
        
        private int age;
        
        public Person() {
        }
        
        public Person(String name, int age) {
            super();
            this.name = name;
            this.age = age;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    }

     

      1、属性注入:

        1)bean中一定要有无参构造方法

        2)使用配置文件注入时,只检查配置属性对应的setter方法是否都能在bean中找到,而不要求属性

        <bean id="person" class="com.zxguan.demo.Person">
            <property name="name">
                <value>zhangsan</value>
            </property>
            <property name="age">
                <value>10</value>
            </property>
        </bean>    

     

      2、接口注入:配置信息与属性注入一致,bean实现的接口的方法中用到注入的属性或对象

        1)bean中一定要有无参构造方法

     

      3、构造方法注入:

        1)将 类型(type),索引(index)相结合使用,使配置指定的顺序、类型与构造参数顺序、类型一致;

      <bean id="person" class="com.zxguan.demo.Person">
            <constructor-arg type="java.lang.String" index="0">
                <value>zhangsan</value>
            </constructor-arg>
            <constructor-arg type="int" index="1">
                <value>10</value>
            </constructor-arg>
        </bean>

     

        2)反射注入,配置顺序与构造方法参数顺序必须一致

        <bean id="person" class="com.zxguan.demo.Person">
            <constructor-arg>
                <value>zhangsan</value>
            </constructor-arg>
            <constructor-arg>
                <value>10</value>
            </constructor-arg>
        </bean>

      注意:

      1、spring使用配置文件注入时,setter方法是必须的(不需要getter,spring只做注入)

      2、变量的前两个字幕要不全部大写,要不全部小写,否则注入出错

      3、构造方法注入,如果有两个对象相互引用,那么会造成循环依赖。解决方法:改为属性注入

     

    二、注入参数

      1、字面量:可用字符串表示的值,通过<value>标签进行注入。默认情况下,基本数据类型及其封装类、String类都可采用字面量注入。

      2、XML中共有5个特殊符号:<、>、&、“、',包含这5个特殊字符的用<![CDATA[xxx]]>包起来,或者用转义字符特换

      3、<NULL>单独的一个标签,不与<VALUE>混用。

      特别注意:

      一般情况下,XML解析器会忽略元素前后的空格,而Spring却不会忽略。

  • 相关阅读:
    LINUX中SHELL批量导入文件到DB2数据库
    LINUX使用SHELL对DB2数据库中的大表中的非月末数据进行分离
    LINUX之SHELL进行数据检查和调用存储过程
    LINUX中使用SHELL重跑DB2存储过程
    SHELL中自动备份DB2架构
    使用SHELL对DB2数据库表空间进行自动扩容
    LINUX系统中根据DB2名称杀掉进程
    LINUX下SHELL调用DB2公共函数之public_s.sh
    pycurl之调用公共方法--请求/上传/下载,解析json
    pyspark常用函数
  • 原文地址:https://www.cnblogs.com/zxguan/p/7831860.html
Copyright © 2011-2022 走看看