<bean id="user" class="User">
<property name="userName">
<value>duan</value>
</property>
</bean>
如果xml中有一下配置,那么User实体类中必须有 setUserName 这个方法。
<context:property-placeholder>标签:
数据源中用 ${} 获取 bean 的属性
<context:property-placeholder
location="属性文件位置,多个之间逗号分隔"
file-encoding="文件编码"
ignore-resource-not-found="是否忽略找不到的属性文件"
ignore-unresolvable="是否忽略解析不到的属性,如果不忽略,找不到将抛出异常"
properties-ref="本地Properties配置"
local-override="是否本地覆盖模式,即如果true,那么properties-ref的属性将覆盖location加载的属性,否则相反"
system-properties-mode="系统属性模式,默认ENVIRONMENT(表示先找ENVIRONMENT,再找properties-ref/location的),NEVER:表示永远不用ENVIRONMENT的,OVERRIDE类似于ENVIRONMENT"
order="顺序"
/>
<util:properties>
<!-- 和context:property-placeholder一样,也用来获取外部配置文件中的内容 ,数据源中用#{}获取bean的属性-->
ignore-unresolvable="" 和 ignore-resource-not-found=""
ignore-unresolvable:是否忽略解析不到的属性,如果不忽略,找不到将抛出异常。(在加载第一个property-placeholder时出现解析不了的占位符进行忽略掉)。但它设置为true的主要原因是:
ignore-unresolvable为true时,配置文件${}找不到对应占位符的值 不会报错,会直接赋值'${}';如果设为false,会直接报错。 设置它为true的主要原因,是一个xml中有多个配置文件时的情况:
ignore-resource-not-found:如果属性文件找不到,是否忽略,默认false,即不忽略,找不到文件并不会抛出异常。
数据源中destroy-method="close"属性
BasicDataSource提供了close()方法关闭数据源,所以必须设定destroy-method=”close”属性, 以便Spring容器关闭时,数据源能够正常关闭;销毁方法调用close(),是将连接关闭,并不是真正的把资源销毁。
还可以理解成:当数据库连接不使用的时候,就把该连接重新放到数据池中,方便下次使用调用.
<context:component-scan>注解,见另一篇博客
https://www.cnblogs.com/fightingcoding/p/component-scan.html