Spring中IOC创建对象的方式以及配置
1.使用无参构造函数(默认方式) 配置文件:
<bean id="user" class="com.kuang.pojo.User"> <property name="name" value="张三"/> </bean>
2.使用带参构造函数(方式1) 配置文件:通过下标
<bean id="user" class="com.kuang.pojo.User"> <constructor-arg index="0" value="张三"/> </bean>
3.使用带参构造函数(方式2) 配置文件:通过类型
<bean id="user" class="com.kuang.pojo.User"> <constructor-arg type="java.lang.String" value="李四"/> </bean>
4.使用带参构造函数(方式3) 配置文件:直接通过参数名
<bean id="user" class="com.kuang.pojo.User"> <constructor-arg name="name" value="张三"/> </bean>
在配置文件加载的时候,容器中管理的对象就已经初始化了下面是实体类和测试方法
package com.kuang.pojo;
public class User {
private String name;
public User(String name){
this.name=name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void show(){
System.out.println("name="+name);
}
}
import com.kuang.pojo.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MyTest {
public static void main(String[] args) {
ApplicationContext context =
new ClassPathXmlApplicationContext("beans.xml");
User user = (User)context.getBean("user");
user.show();
}
}
1.别名(基本没用) 给User对象添加别名
<bean id="user" class="com.kuang.pojo.User"> <constructor-arg name="name" value="张三"/> </bean> <!--给User对象添加别名--> <alias name="user" alias="ghh"/>
测试类:通过别名获取User对象
public class MyTest {
public static void main(String[] args) {
ApplicationContext context =
new ClassPathXmlApplicationContext("beans.xml");
User user = (User)context.getBean("ghh");
user.show();
}
}
2.Bean的配置
<!-- id:bean的唯一标识符,也就是对象名 class:bean对象对应的全限定类名 name:别名 --> <bean id="userT" class="com.kuang.pojo.User" name="user2"> <constructor-arg value="李四"/> </bean>
测试类:
public class MyTest {
public static void main(String[] args) {
ApplicationContext context =
new ClassPathXmlApplicationContext("beans.xml");
User user = (User)context.getBean("user2");
user.show();
}
}
3.import 一般用于团队开发:可以将多个配置文件,导入合并为一个
<?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"> <!--在这个配置文件中,可以使用导入的配置文件中的配置--> <import resource="beans.xml"/> <import resource="beans2.xml"/> <import resource="beans3.xml"/> </beans>
