博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring的一些配置文件的使用
阅读量:6769 次
发布时间:2019-06-26

本文共 3768 字,大约阅读时间需要 12 分钟。

hot3.png

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的一些小技巧的总结,内容比较杂。

转载于:https://my.oschina.net/zimingforever/blog/212944

你可能感兴趣的文章
leetcode393. UTF-8 Validation
查看>>
flv格式文件如何无损转为avi格式
查看>>
在centos7安装完mysql 5.7之后,不能启动mysql
查看>>
微信小程序页面返回优化
查看>>
构造函数内的方法与构造函数prototype属性上方法的对比
查看>>
MyEclipse2018中安装Mybatis generator插件
查看>>
记录一次MySQL两千万数据的大表优化解决过程,提供三种解决方案
查看>>
【PHP源码分析】small内存规格的计算
查看>>
捋一捋React的生命周期
查看>>
机器人通用底盘的主要作用解析
查看>>
[Spring Security 5.2.0 翻译] 8 Architecture and Implementation
查看>>
MySQL--MySQL索引优化
查看>>
Webpack4 高手之路 第一天
查看>>
javascript动态合并纵向单元格
查看>>
BundlePhobia
查看>>
css加载会造成阻塞吗
查看>>
CSDN 文章自动显示全文
查看>>
遇到大牛如何获得联系方式及请教问题
查看>>
S/4HANA生产订单增强WORKORDER_UPDATE方法BEFORE_UPDATE参数分析
查看>>
Objective-C-如何选择@property-和-Instance-Variable(iVar)
查看>>