1,spring的get方法介绍
2,代码演示
2.1,新建ApplicationContextDemo05
package com.study.demoTest;
import com.study.service.UserService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class ApplicationContextDemo05 {
public static void main(String[] args) {
ApplicationContext applicationContext =
new ClassPathXmlApplicationContext("beans.xml");
// 需要强转
UserService userService =(UserService)applicationContext.getBean("userService");
userService.showMap();
//指定类型,不需要强转
UserService userService1 = applicationContext.getBean("userService", UserService.class);
userService1.showMap();
// beans.xml中只能有一个class是UserService的,不然报错
UserService userService2 = applicationContext.getBean(UserService.class);
userService2.showMap();
}
}
2.2,修改beans.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">
<!--注入list演示-->
<bean id="userService" class="com.study.service.impl.UserServiceImpl">
<property name="stringList">
<list>
<value>aaa</value>
<value>bbb</value>
<value>ccc</value>
</list>
</property>
<property name="userDaoList">
<list>
<ref bean="userDao1"></ref>
<ref bean="userDao1"></ref>
<ref bean="userDao1"></ref>
</list>
</property>
<property name="strSet">
<set>
<value>aaa</value>
<value>aaa</value>
<value>bbb</value>
</set>
</property>
<property name="userDaoSet">
<set>
<ref bean="userDao1"></ref>
<ref bean="userDao1"></ref>
<ref bean="userDao1"></ref>
</set>
</property>
<property name="strMap">
<map>
<entry key="d1" value="userDao01"/>
<entry key="d1" value="userDao01"/>
<entry key="d2" value="userDao02"/>
<entry key="d3" value="userDao03"/>
</map>
</property>
<property name="userDaoMap">
<map>
<entry key="d1" value-ref="userDao1"/>
<entry key="d1" value-ref="userDao1"/>
<entry key="d2" value-ref="userDao1"/>
<entry key="d3" value-ref="userDao1"/>
</map>
</property>
</bean>
<bean id="myBeanFactory3" class="com.study.factory.MyBeanFactory3"></bean>
<bean id="userDao1" factory-bean="myBeanFactory2" factory-method="userDao">
<constructor-arg name="username" value="李乃龙"/>
<constructor-arg name="age" value="26"/>
</bean>
<bean id="myBeanFactory2" class="com.study.factory.MyBeanFactory2"></bean>
<bean id="userDao2" class="com.study.factory.MyBeanFactory1"
factory-method="userDao">
<constructor-arg name="username" value="李乃龙"/>
<constructor-arg name="age" value="26"/>
</bean>
</beans>