spring框架的核心容器能为我们创建对象。
spring框架的使用方式:
1、在spring.xml中配置标签
2、根据spring.xml创建出核心容器,容器会自动创建所有的bean
3、需要使用哪个bean,从容器中取出就可以。
spring在创建bean的同时,也可以为bean的属性赋值:
<bean id="student" class="com.youzhong.entity.Student">
<!-- name配置属性名,value配置属性值 -->
<property name="id" value="1"/>
<property name="name" value="张三"/>
</bean>
<bean id="student2" class="com.youzhong.entity.Student">
<property name="id" value="2"/>
<property name="name" value="李四"/>
</bean>
上述示例使用了Spring框架的核心容器功能。
Spring核心容器的其它功能:
一、bean的作用域(scope):
常用的两个作用域:singleton 单例的 , prototype 原型的(多例的)
单例:容器只创建一个实例。
多例:容器会创建多个实例。
默认创建的bean是单例的。
struts2的Action是多例的。
springMVC的Controller是单例的。
注解扫描管理bean:
有4个注解可以扫描管理bean:
四个注解的功能完全相同。它们的区别是语义不同。
@Controller 是控制的意思,应该添加在控制层的类上,如struts2的Action。
@Service 是服务业务的意思,应该添加在业务层的类上,如ssh的Service。
@Repository 是仓库的意思,应该添加在dao层的类上,如UserDao。
@Component 是组件的意思,应该添加在除了上面三层的位置。
上面4个注解是加在类上的。
核心容器会在创建出来bean之后,立即对其初始化,调用init-method配置的方法。
当容器销毁时,也会销毁所有的bean,之前会调用destroy-method配置的方法。
一般的bean不会管理生命周期,复杂的bean才会管理生命周期。
如:数据库连接池 ConnectionPool
。。。。。。