spring注入时bean的set方法为啥不能是static类型的?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring注入时bean的set方法为啥不能是static类型的?相关的知识,希望对你有一定的参考价值。
使用spring对bean属性进行注入时,如果set方法设置为static类型的,spring在初始化时会提示找不到属性,请问是怎么回事,为什么不能是static类型的
这个问题以前没有考虑过,get,set方法都是自动生成的,没有想到把他设置成static
我这样设置时spring容器可以给我注入我要的属性对象
Spring依赖注入 set方法注入
标签的属性:
name:用于指定注入时所调用的set方法的名称(注意name的值是set方法的名字小写)
value:用于提供基本数据类型和String类型的数据
ref:用于指定其他的bean。它的值就是在spring的Ioc核心容器中出现过的bean对象
优势:创建对象是时没有明确的要求,可以直接使用默认的构造函数
<bean id="accountService" class="com.xuefei.service.impl.AccountServiceImpl"> <property name="name" value="小王"></property> <property name="age" value="22"></property> <property name="date" ref="now"></property> </bean> <bean id="now" class="java.util.Date"></bean>
package com.xuefei.service.impl; import com.xuefei.service.AccountService; import java.util.Date; /** * 账户业务层实现类 */ public class AccountServiceImpl implements AccountService { String name; Integer age; Date date; public void setName(String name) { this.name = name; } public void setAge(Integer age) { this.age = age; } public void setDate(Date date) { this.date = date; } public void say() { System.out.println("我是"+name+"今年"+age+"岁了!"+date); } public void saveAccount() { } }
以上是关于spring注入时bean的set方法为啥不能是static类型的?的主要内容,如果未能解决你的问题,请参考以下文章
spring bean注入报空指针null,但set设值时对象是存在的,而且只是部分方法报空指针
为啥我不能将此 Spring Boot 服务类注入 JUnit 测试类?预计至少有 1 个 bean 有资格作为 autowire 候选者