1 Spring 加载配置文件的方法
方法1:
contextConfigLocation /WEB-INF/applicationContext-*.xml org.springframework.web.context.ContextLoaderListener
方法2:
contextConfigLocation /WEB-INF/applicationContext-*.xml SpringContextServlet org.springframework.web.context.ContextLoaderServlet 1
方法3:strut配置文件
这种方式其实是依赖前面两种方式的,这里是以插件的方式自动加载action-servlet.xml还有webApplicationContext里面的bean。
参考文档:
2 spring 配置dbcp数据源的方法
${db.driver} ${db.url} ${db.username} ${db.password}
也可以使用spring下的DriverManagerDataSource
DriverManagerDataSouce dataSource=new DriverManagerDataSouce();dataSource.setDriverClassName(driver);dataSource.setUrl(url);dataSource.setUsername(username);dataSource.setPAssword(password);
下面是配置其他数据源的方法:
${jdbc.driverClassName} ${jdbc.url} ${jdbc.username} ${jdbc.password}
${jdbc.driverClassName} ${jdbc.url} ${jdbc.username} ${jdbc.password} 80 20 3000
${jdbc.driverClassName} ${jdbc.url} ${jdbc.username} ${jdbc.password} 5 3000 3000 80 1 6000 5
${jdbc.driverClassName} ${jdbc.url} ${jdbc.username} ${jdbc.password} test 90000 10 100 10 true true
其中几个参数说明如下:
maxIdleTime:最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0
acquireIncrement:当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3
maxStatements:JDBC的标准参数,用以控制数据源内加载的PreparedStatements数量。但由于预缓存的statements属于单个connection而不是整个连接池。所以设置这个参数需要考虑到多方面的因素。如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0
idleConnectionTestPeriod:每60秒检查所有连接池中的空闲连接。Default: 0
acquireRetryAttempts: 定义在从数据库获取新连接失败后重复尝试的次数。Default: 30
breakAfterAcquireFailure: 获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效保留,并在下次调用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试获取连接失败后该数据源将申明已断开并永久关闭。Default: false
testConnectionOnCheckout:因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的时候都将校验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable等方法来提升连接测试的性能。Default: false
参考文档:
3 web中自动加载applicationContext
第一种使用 ContextLoaderListener 注册 ApplicationContext 的配置文件如下,注意:下面的配置文件不是在 Spring 的配置文件中增加,而是在 web.xm1文件中增加。
contextConfigLocation
第二种使用 ContextLoaderServlet注册 ApplicationContext的配置文件如下。同样,下面的配置文件也不是在Spring的配置文件中增加,而是在web.xm1文件中增加。
context
采用这种方式时,应将context 的启动级别设成最小,即最优先启动。因为ApplicationContext是整个应用的核心。
配置完成后即可通过WebApplicationContextUtils.getWebApplicationContext方法在Web应用中获取ApplicationContext引用。
ApplicationContext ctx=WebApplicationContextUtils.getWebApplicationContext();LoginAction action=(LoginAction)ctx.getBean("action");
参考文档:
总结一下,本文是对spring的一些小技巧的总结,内容比较杂。