1、bean factory
(1)依赖:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.6.RELEASE</version>
</dependency>
(2)对象托管
(3)配置文件
<?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.xsd">
<!--调用无参构造,反射调用setter注入值 默认为单例模式 动态注入默认根据类型-->
<bean id="stu" class="cn.kgc.kb08.spring.entity.Student" autowire="byType" scope="singleton">
<property name="age" value="18"/>
<property name="name" value="张三"/>
<property name="gender" value="男"/>
</bean>
<!--通过带参构造创建对象-->
<bean id="stu2" class="cn.kgc.kb08.spring.entity.Student">
<constructor-arg index="0" value="Henry"/>
<constructor-arg index="1" value="22"/>
<constructor-arg index="2" value="女"/>
</bean>
<!--通过工厂创建对象-->
<bean id="stuFactroy" class="cn.kgc.kb08.spring.factory.StudentFactory"/>
<bean id="stu3" class="cn.kgc.kb08.spring.entity.Student" factory-bean="stuFactroy" factory-method="get"/>
<bean id="config" class="cn.kgc.kb08.spring.dao.SqlConfig">
<property name="driver" value=""/>
<property name="url" value=""/>
<property name="username" value=""/>
<property name="password" value=""/> <!--基本类型:value-->
</bean>
<bean id="baseDao" class="cn.kgc.kb08.spring.dao.BaseDao">
<constructor-arg index="0" ref="config"/> <!--应用类型:ref-->
</bean>
</beans>