IOC的创建方式
通过无参构造方法来创建
public class User {
private String name;
public User() {
System.out.println("user无参构造方法");
}
}
.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">
<bean id="user" class="com.kuang.pojo.User">
<property name="name" value="kuangshen"/>
</bean>
</beans>
通过有参构造方法来创建
public class UserT {
private String name;
public UserT(String name) {
this.name = name;
}
}
.xml 有三种方式编写
<!-- 第一种根据index参数下标设置 -->
<bean id="user" class="">
<!-- index指构造方法 , 下标从0开始 -->
<constructor-arg index="0" value=""/>
</bean>
<!-- 第二种根据参数名字设置 -->
<bean id="user" class="">
<!-- name指参数名 -->
<constructor-arg name="name" value=""/>
</bean>
<!-- 第三种根据参数类型设置 -->
<bean id="user" class="">
<constructor-arg type="java.lang.String" value=""/>
</bean>
结论:在配置文件加载的时候。其中管理的对象都已经初始化了!也就是在.xml文件中所配置注册的bean 早就把该类的对象实例化好了。
Spring配置
别名
alias 设置别名 , 为bean设置别名 , 可以设置多个别名
Bean的配置
<!--bean就是java对象,由Spring创建和管理-->
<!--
id 是bean的标识符,要唯一,如果没有配置id,name就是默认标识符
如果配置id,又配置了name,那么name是别名
name可以设置多个别名,可以用逗号,分号,空格隔开
如果不配置id和name,可以根据applicationContext.getBean(.class)获取对象;
class是bean的全限定名=包名+类名
-->
<bean id="hello" name="hello2 h2,h3;h4" class="com.kuang.pojo.Hello">
<property name="name" value="Spring"/>
</bean>
import
团队的合作通过import来实现 .即多个bean.xml可通过import导入到一个.xml文件中。
<import resource="{path}/beans.xml"/>