java单例模式和spring多例模式的问题
今天看书的时候发现一个问题,TestSingelIoc这个类我java代码用的单例模式写的,在spring中配置scope="prototype",然后把它注入到其他类中输出,为什么输出的东西不一样?搞不明白。。。大家看看代码吧
public class TestSingelIoc {
private static final TestSingelIoc singelIoc=new TestSingelIoc();
private TestSingelIoc(){
}
public static TestSingelIoc getSingelIoc(){
return singelIoc;
}
}
public class Test {
private TestSingelIoc singelIoc;
public Test(TestSingelIoc singelIoc){
this.singelIoc=singelIoc;
}
public void initmethod(){
System.out.println(singelIoc);
}
}
public class TestIoc {
private TestSingelIoc singelIoc;
public TestIoc(TestSingelIoc singelIoc){
this.singelIoc=singelIoc;
}
public void initmethod(){
System.out.println(singelIoc);
}
}
spring:
<bean id="testIoc" class="com.spring.ioc.TestIoc" init-method="initmethod">
<constructor-arg name="singelIoc" ref="testSingelIoc"></constructor-arg>
</bean>
<bean id="test" class="com..spring.ioc.Test" init-method="initmethod">
<constructor-arg name="singelIoc" ref="testSingelIoc"></constructor-arg>
</bean>
<bean id="testSingelIoc" class="com.spring.ioc.TestSingelIoc" init-method="getSingelIoc" scope="prototype">
</bean>
输出:com.spring.ioc.TestSingelIoc@11bf74e
com.spring.ioc.TestSingelIoc@1708205