IOC建立物件的方式和spring的配置
阿新 • • 發佈:2021-01-17
IOC建立物件的方式
1.預設通過無參構造
2.假如要使用有參構造建立
- 下標賦值
<bean id="user" class="com.kuang.pojo.User">
<constructor-arg index="0" value="mingiao"/>
</bean>
- 型別賦值
<bean id="user" class="com.kuang.pojo.User">
< constructor-arg type="java.lang.String" value="mingiao"/>
</bean>
當幾個相同型別的變數同時存在時,不建議使用這種方法,以免混淆。
- 引數名賦值
<bean id="user" class="com.kuang.pojo.User">
<constructor-arg name="name" value="mingiao"/>
</bean>
spring配置
1.別名
<alias name="user" alias="hhh"/>
name:物件名 。
alias:別名,可以通過別名獲取到這個物件。
2.Bean的配置
<bean id="userT" class="com.kuang.pojo.UserT" name="u1;u2;u3" >
<property name="name" value ="123"/>
</bean>
<!-- id:bean的唯一標識(物件名)-->
<!-- class:bean物件的全限定名:包名+型別-->
<!-- name:別名(可以同時取多個別名)-->
3.import
可以將其他的配置檔案(xml)匯入,使用的時候,用總的配置檔案就行了
<import resource="beans.xml"/>
4.例子
- UserT.java
public class UserT {
private String name;
public UserT(){
System.out.println("UserT被建立了");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void show(){
System.out.println("name="+name);
}
}
- bean.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="userT" class="com.kuang.pojo.UserT" name="u1;u2;u3" >
<property name="name" value="123"/>
</bean>
<alias name="userT" alias="hhh"/>
</beans>
- .applicationContext.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">
<import resource="beans.xml"/>
</beans>
-
測試
public class MyTest { public static void main(String[] args) { ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml"); UserT usert1=(UserT) context.getBean("u1");//name取別名 UserT usert2=(UserT) context.getBean("hhh");//alias取別名 usert1.show(); usert2.show(); } }
-
執行結果