该类基于java的bean的setter方法为属性赋值
首先创建要让Spring管理的javabean的代码
package Bean;
public class Javaabean {
private String cs;
public Javaabean() {
System.out.println("调用JavaBean的无参构造器注入属性值");
}
public Javaabean(String cs) {
System.out.println("调用JavaBean的有参构造器注入属性值");
this.cs = cs;
}
public String getCs() {
System.out.println("JavaBean的getCs方法被调用了");
return cs;
}
public void setCs(String cs) {
System.out.println("JavaBean的setCs方法被调用了");
this.cs = cs;
}
}
配置让Spring管理的Javabean
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--
id:先当于java创建对象时的对象名
class:的值为要管理的Javabean的类
property标签代表:用Javabean的setter方法注入属性
name:对应的Javabean的属性名(Java变量名)
value:给要赋值的属性值
-->
<bean id="Bean" class="Bean.Javaabean">
<property name="cs" value="Cs"/>
</bean>
</beans>
创建测试类对Spring管理的bean进行调用
import Bean.Javaabean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class App {
public static void main(String[] args) {
ApplicationContext text = new ClassPathXmlApplicationContext("javaBean.xml");
Javaabean bean = text.getBean("Bean", Javaabean.class);
System.out.println(bean);
}
}
如果想输出对象值我们重写Java的 toString()方法就可以实现了
通过输出值可以看出
<property>标签是通过 java的bean的setter方法为属性赋值
声明:<property>标签会默认调用javabean的无参构造器,因为spring会为管理的每一个bean默认设置一个scope="singleton"属性,虽然上面的无参构造器被调用了但是该构造器我们并没有为属性赋值
警告:没有配置Spring,是无法让spring的IOC容器去管理bean的
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>Javabean</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.9.RELEASE</version>
</dependency>
</dependencies>
</project>
这是我通过Mave配置Spring