Spring使用静态工厂方法,然后书上说返回的随机数每次都是一样的,怎么不一样啊~~~~/***********************************************************************************************/
package bean;import java.util.Random;public class StaticFactoryBean {
public static Integer createRandom() {
return new Integer(new Random().nextInt());
}
}
/***********************************************************************************************/
<?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-2.0.xsd">
<bean id="random" class="bean.StaticFactoryBean"
factory-method="createRandom">
</bean>
</beans>
/***********************************************************************************************/
package bean;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class SpringStart {
public static void main(String args[]) {
ApplicationContext beanFactory = new ClassPathXmlApplicationContext(
"applicationContext.xml");
System.out.println(beanFactory.getBean("random"));
}
}
为什么返回的不一样,是不是每次new了一个random,,,,,哪个能回答详细点~~

解决方案 »

  1.   

    new Random().nextInt()是随机生成数字的吧。肯定根书上不一样。
      

  2.   

    楼主的意思是这个程序应该和书上说的一样,每次运行的结果应该是一样的,楼主你在
    System.out.println(beanFactory.getBean("random")); 这句前面加句
    for(int i=0;i<10;i++)
    你就会发现书上说的是对的了。