3种Beans的实列法的方式
定义一个Student类,实列化其对象。
1.0 使用类构造器实列化
public class Student {
public Student()
{
System.out.print(" 我是无参数构造");
}
}
xml的配置
<beans>
<bean id="student" class="Student"></bean>
</beans>
结果如下
信息: Loading XML bean definitions from class path resource [helloMessage.xml]
我是无参数构造Student@77cd7a0
2.0 静态工厂方法
当然需要一个静态方法还回其的对象。
public class Student {
public static Student creatStudent()
{
return new Student();
}
}
xml的配置如下
<beans>
<bean id="student" class="Student" factory-method="creatStudent"></bean>
</beans>
3.0 使用工厂方法实列化。这个需要工厂方法,先不提
占位
Bean的作用域
Bean的作用域默认为 singleton
通过如下
public static void main(String[] args) {
ApplicationContext app=new ClassPathXmlApplicationContext("helloMessage.xml");
Student student=(Student) app.getBean("student");
System.out.println(student);
Student student1=(Student) app.getBean("student");
System.out.println(student1);
}
结果可以看出来
student被实列化Student@77cd7a0
Student@77cd7a0
如果scope设置成 scope
<bean id="student" class="Student" scope="prototype"></bean>
结果如下
student被实列化Student@5c7fa833
student被实列化Student@39aeed2f
五种作用域中,request、session和global session三种作用域仅在基于web的应用中使用
bean的生命周期
和小伙伴,建了一个公众号,在摸索中,欢迎关注。搜索公众号:东风冷雪,英文:satan_master ,现在探索中。无所不有,包括生活,学习,娱乐。 三大板块。