Spring Bean属性注入原理只需setXxx()方法,无需属性

2022-07-06 12:09:28
package top.chgl16.springStudy3.letter;

/**
 * @Lin
 * 测试 注入是否需要属性,还是只需要setName方法
 * 结果:只需要setName()方法,而且跟参数无关,是setXxx中Xxx的缩写xxx
 */
public class Test {
//    public String name;

//    public String getName() {
//        return name;
//    }

    public void setName(String name1) {
        // this.name = name;
        System.out.println("调用了setName方法 " + name1);
    }
}
<!-- 测试是否需要属性的bean -->
    <bean id="test" class="top.chgl16.springStudy3.letter.Test">
        <property name="name" value="key"/>
    </bean>
五月 19, 2018 5:03:04 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@5010be6: startup date [Sat May 19 17:03:04 CST 2018]; root of context hierarchy
五月 19, 2018 5:03:04 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [META-INF/beans.xml]调用了setName方法 key调用了setName方法 key

即便注释掉了类的属性name,而且把setName()的参数改为了name1,仍然可以注入、

其实原理只需要setXxx()方法,<property >标签的name对应的是Xxx的小写即可。

  • 作者:Chgl16
  • 原文链接:https://chgl16.blog.csdn.net/article/details/80375937
    更新时间:2022-07-06 12:09:28