今天看到项目的配置,看后就当是复习了。懵懵懂懂工作两年,感觉虽然自己一直在使用spring作为工具,但是也没有涉及到spring的方方面面,今天的研究从一次无意的自动补全开始,还是那句话,不爱研究的程序员不是好的java工程师。。。
前两项<context:annotation-config/>和<context:component-scan/>这两项自然不用说,在项目中使用的是最多的,其次要提到的就是
<context:property-placeholder/>这一项。。
<context:property-placeholder/>篇
<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="顺序"
/>
举个例子:
这个是最常见的JDBC的例子了,然后就可以使用:${key}占位符属性替换器
jdbc的properties文件
dbcp.driverClassName=oracle.jdbc.driver.OracleDriver
dbcp.username=qrpay
spring配置
<context:property-placeholder location="classpath:config/jdbc.properties" />
<bean id="dataSourceSpied" class="com.alibaba.druid.pool.DruidDataSource"
init-method="init" destroy-method="close">
<property name="url" value="${dbcp.url}" />
<property name="username" value="${dbcp.username}" />
</bean>
<context:spring-configured/>篇
spring 可以为IOC容器里的bean进行依赖注入,但如果某些类,没有配置在IOC里,比如一些Domain Object,是否也可以依赖注入哪?答案是肯定的
以User 为例,该User并没有配置在IOC理,但我想对其里面的一个UserDao进行依赖注入,其代码如下:
@Configurable(autowire = Autowire.BY_NAME, dependencyCheck = false)
public class User {
private String UserName;
....
private UserDao userDao;
...
@Autowired
public void setUserDao〔UserDao userDao〕{
this.userDao=userDao.
}
}
然后再在XML文件里加上 <context:spring-configured/>就可以了。<context:spring-configured/>主要是通过Spring管理AnnotationBeanConfigurerAspect切面, 具体的工作由该切面完成。
<context:load-time-weaver/>篇
---------------------
作者:自然鸟神
来源:CSDN
原文:https://blog.csdn.net/chenpeng19910926/article/details/54691698
版权声明:本文为博主原创文章,转载请附上博文链接!