构造器创建对象的方式
public class HelloWorld {
private String name;
public HelloWorld() {
System.out.println("无参构造器创建对象");
}
public HelloWorld(String name) {
this.name = name;
System.out.println("有参构造器创建对象");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "HelloWorld{" +
"name='" + name + '\'' +
'}';
}
}
1)无参构造器创建对象(默认)
<?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
https://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="helloWorld" class="com.shang.HelloWorld"></bean>
</beans>
public class HelloWorldTest {
@Test
public void test(){
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
HelloWorld helloWorld = context.getBean("helloWorld", HelloWorld.class);
System.out.println(helloWorld);
}
}
- 结果

2)有参构造器创建对象(三种方式)
- 第一种方式
<?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
https://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="helloWorld" class="com.shang.HelloWorld">
<constructor-arg index="0" value="shang"/>
</bean>
</beans>
- 第二种方式
<?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
https://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="helloWorld" class="com.shang.HelloWorld">
<constructor-arg name="name" value="shang"/>
</bean>
</beans>
- 第三种方式(不建议使用)
<?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
https://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="helloWorld" class="com.shang.HelloWorld">
<constructor-arg type="java.lang.String" value="shang"/>
</bean>
</beans>
public class HelloWorldTest {
@Test
public void test(){
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
HelloWorld helloWorld = context.getBean("helloWorld", HelloWorld.class);
System.out.println(helloWorld);
}
}
- 三种方式的结果

下一篇:Spring的配置