Bean配置
属性 | 值 | 注释 |
id | 自自定义,一般为类名 | Bean ID |
name | 自自定义,一般为类名,与id作用相同 | Bean别名,多个别名逗号分隔 |
class | 指定的类路径,com.xx.xx.xx | Bean类型,静态工厂类路径,FactoryBean类路径 |
scope | singleton(默认) | Bean的实例数量:Spring IoC容器中只会存在一个共享的bean实例 |
prototype | Bean的实例数量:每次对该Bean请求时都会创建一个新的Bean实例 | |
init-method | init | 生命周期初始化 |
destroy-method | destroy | 生命周期销毁 |
autowire | byType | 自动装配类型 |
factory-method | getInstance | Bean工厂方法,用于静态工厂or实例工厂 |
factory-bean | 指定的类路径,com.xx.xx.xx | 实例工厂类路径 |
lazy-init | true | 控制Bean延迟加载 |
数据源对象管理
导入坐标
<dependency>
<groupId>com.alibaba<groupId>
<artifactId>druid</artifactId>
<version>1.1.16</version>
</dependency>
配置数据源对象作为Spring管理的Bean
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/db_name"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
依赖注入
构造器注入 | 注释 |
<constructor-arg name="xxx" ref="xxx"> | 构造器注入引用类型 name:构造方法参数名 ref:需要注入的对象 |
<constructor-arg name="xxx" value="xxx"> | 构造器注入普通类型 name:构造方法参数名 value:需要注入的值 |
<constructor-arg type="java.lang.String" index="xxx" value="xxx"> | 构造器注入普通类型,根据类型+索引匹配 type:指定构造方法中参数的类型 index:构造方法参数索引 value:需要注入的值 |
setter注入 | 注释 |
<property name="xxx" ref="xxx"> | setter注入引用类型 name:set方法参数名 ref:需要注入的对象 |
<property name="xxx" value="xxx"> | setter注入普通类型 name:set方法参数名 value:需要注入的值 |
<property name="xxx"> <list> <value>xxx</value> <value>xxx</value> </list> </property> | setter注入集合类型 |
<property name="xxx"> <list> <ref bean="BeanID"> </list> </property> | setter注入集合引用类型 |
<property name="xxx"> | setter注入map类型 |