学习目标:
Spring中IOC创建对象的方式
学习内容:
IOC创建对象的方式:
1、默认使用无参构造方法
2、使用有参构造方法(三种方式)
有参构造方法的三种方式:
1、通过index下标赋值创建
2、通过参数名创建
3、通过类型创建
Spring中无论是否调用对象,都会初始化,每个构造方法都会被输出(如果有输出的话)
学习时间:
学习产出:
POJO
package com.study.pojo;
/**
* @ClassName User
* @Author $童一
* @Description $
* @Param $
* @return $
* @Date $ $
**/
public class User {
private String name;
private int age;
public User(String name, int age) {
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;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
XML:
<?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">
<!--IOC创建对象的方式:1、默认使用无参构造方法-->
<!--2、使用有参构造方法如下:-->
<!--1、通过index下标赋值创建-->
<!-- <bean id="user" class="com.study.pojo.User">-->
<!-- <constructor-arg index="0" value="张三"/>-->
<!-- <constructor-arg index="1" value="20"/>-->
<!-- </bean>-->
<!--2、通过参数名创建-->
<!-- <bean id="user" class="com.study.pojo.User">-->
<!-- <constructor-arg name="name" value="李四"/>-->
<!-- <constructor-arg name="age" value="21"/>-->
<!-- </bean>-->
<!--3、通过类型创建-->
<bean id="user" class="com.study.pojo.User">
<constructor-arg type="java.lang.String" value="王五"/>
<constructor-arg type="int" value="25"/>
</bean>
<!--别名,可以通过别名调用对象-->
<alias name="user" alias="U"/>
<!--name也是别名,并且别名可以创建多个-->
<bean id="user1" class="com.study.pojo.UserFirst" name="first;f1;f2;f3"></bean>
</beans>
Test
import com.study.pojo.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* @ClassName MyTest
* @Author $童一
* @Description $
* @Param $
* @return $
* @Date $ $
**/
public class MyTest {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("application.xml");
User user = (User) context.getBean("user");
//别名调用
// User user = (User) context.getBean("U");
// UserFirst u1 = (UserFirst) context.getBean("f1");
System.out.println(user.toString());
}
}
import
在Spring中可以通过import将多个配置文件合成一个:
如applicationContext为全局配置文件,那么就可以通过在applicationContext中通过import resource="b1.xml"、import resource="b2.xml"导入这两个配置文件