• 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却不会忽略。

  • 相关阅读:
    swift
    swift
    swift
    swift
    swift
    swift
    swift
    swift
    Swift
    Nginx 访问控制
  • 原文地址:https://www.cnblogs.com/zxguan/p/7831860.html
Copyright © 2020-2023  润新知