spring中Bean的几种配置(ioc原理续)
来源:互联网 发布:angularjs循环数组 编辑:程序博客网 时间:2024/05/18 01:07
1,首先准备几个bean类:
package com.svse.spring.ioc;
(1)
public class Dog {
public void sound()
{
System.out.println("wang wang wang....");
}
}
(2)
package com.svse.spring.ioc;
public class User {
private String userName = null;
private int userAge = 0;
private Dog dog = null;
public User()
{
System.out.println("user constructor() called.");
}
/**
* 调用setter方法注入值
* @param userName
*/
public void setUserName(String userName)
{
System.out.println("setUserName() called.");
this.userName = userName;
}
/**
* 调用setter方法注入值
* @param userAge
*/
public void setUserAge(int userAge)
{
System.out.println("setUserAge() called.");
this.userAge = userAge;
}
/**
* 调用setter方法注入值
* @param dog
*/
public void setDog(Dog dog) {
this.dog = dog;
}
public void doDog()
{
this.dog.sound();
}
}
(3)
package com.svse.spring.ioc;
public class User1 {
private String userName = null;
private int userAge = 0;
private Dog dog = null;
public User1(String userName,int userAge,Dog dog) {
this.userName = userName;
this.userAge = userAge;
this.dog = dog;
System.out.println("userName:" + userName + "," + "userAge:" + userAge);
this.dog.sound();
}
}
(4)
package com.svse.spring.ioc;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class User2 {
private List myList = null;
private Map myMap = null;
public void setMyList(List myList) {
this.myList = myList;
}
public void setMyMap(Map myMap) {
this.myMap = myMap;
}
public void print()
{
System.out.println("-------list-------");
for(int i = 0 ; i < myList.size(); i++)
{
String s = (String)myList.get(i);
System.out.println(s);
}
System.out.println("-------list-------");
System.out.println("-------map-------");
for(Iterator it = myMap.keySet().iterator(); it.hasNext();)
{
String key = (String)it.next();
String value = (String)this.myMap.get(key);
System.out.println("key:" + key + "," + "value:" + value);
}
System.out.println("-------map-------");
}
}
2,在所建工程中添加spring-core.jar、 spring-beans.jar 、spring-context.jar包
在applicationContext.xml文件中对上面的具体实现类进行装配:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="dogInstance" class="com.svse.spring.ioc.Dog"></bean>
<!--
User user = new User();
user.setUserName("jason");
user.setUserAge(22);
-->
<bean id="user" class="com.svse.spring.ioc.User" >
<property name="userName" value="jason"></property>
<property name="userAge" value="22"></property>
<property name="dog" ref="dogInstance"></property>
</bean>
<!--
User1 user1 = new User1("david",26,dog);
-->
<bean id="user1" class="com.svse.spring.ioc.User1">
<constructor-arg type="java.lang.String" value="david"></constructor-arg>
<constructor-arg type="int" value="26"></constructor-arg>
<constructor-arg type="com.svse.spring.ioc.Dog" ref="dogInstance"></constructor-arg>
</bean>
<!-- 注入集合 -->
<bean id="user2" class="com.svse.spring.ioc.User2">
<property name="myList">
<list>
<value>list1</value>
<value>list2</value>
<value>list3</value>
<value>list4</value>
<value>list5</value>
</list>
</property>
<property name="myMap">
<map>
<entry key="aKey" value="aValue"></entry>
<entry key="bKey" value="bValue"></entry>
<entry key="cKey" value="cValue"></entry>
<entry key="dKey" value="dValue"></entry>
</map>
</property>
</bean>
</beans>
3,编写测试类
package com.svse.spring.ioc;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class IOCMain {
/**
* 测试
*/
public static void main(String[] args) {
ApplicationContext context =
new ClassPathXmlApplicationContext("applicationContext.xml");
// User user = (User)context.getBean("user");
// user.doDog();
//User1 user1 = (User1)context.getBean("user1");
User2 user2 = (User2)context.getBean("user2");
user2.print();
}
}
- spring中Bean的几种配置(ioc原理续)
- spring中Bean的几种配置(ioc原理续)
- spring 8 bean配置--IOC容器中bean的生命周期
- Spring-- Ioc 容器Bean实例化的几种场景
- 在Spring IOC容器中配置Bean
- spring配置bean的几种方式
- Ioc中装配bean的几种方式
- Spring IOC中bean的生命周期
- Spring IOC容器中Bean的生命周期
- Spring IOC容器中Bean的生命周期
- Spring 中IOC的原理
- spring学习基础(ioc底层原理,bean的配置和注解)
- 配置Spring Ioc中的bean
- spring IOC bean配置方法
- web.xml中配置spring的几种方式 以及 Spring获取Bean的几种方式
- web.xml中配置spring的几种方式 以及 Spring获取Bean的几种方式
- web.xml中配置spring的几种方式 以及 Spring获取Bean的几种方式
- spring ioc容器注入的集中方式,以及属性注入的集中依赖,继承,使用SPEL表达式,ioc容器的生命周期,bean的几种工厂方法配置方式,bean的自动装配
- CSDN现在是我的家了
- 这是密教图腾上的文字。
- 虎年继续瞎掰:希望如此
- 创造性生存
- Spring中的IOC原理
- spring中Bean的几种配置(ioc原理续)
- 转关于WebService
- 2010-03-01
- 顶点数组
- 用Inno Setup来解决.NetFramework框架安装问题
- 希望一切顺利。。。
- 浮点型数据
- Spring中常用的hql查询方法
- SQL语句性能调整原则