转载自:http://blog.csdn.net/zzjjiandan/article/details/22922847

         Spring配置文件是用于指导Spring工厂进行Bean生产、依赖关系注入(装配)及Bean实例分发的"图纸"。Java EE程序员必须学会并灵活应用这份"图纸"准确地表达自己的"生产意图"。Spring配置文件是一个或多个标准的XML文档,applicationContext.xml是Spring的默认配置文件,当容器启动时找不到指定的配置文档时,将会尝试加载这个默认的配置文件。

             下面列举的是一份比较完整的配置文件模板,文档中各XML标签节点的基本用途也给出了详细的解释,这些XML标签节点在后续的知识点中均会用到,熟练掌握了这些XML节点及属性的用途后,为我们动手编写配置文件打下坚实的基础。

下面,就上面的配置列举一个示例:

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <beans xmlns="http://www.springframework.org/schema/beans"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://www.springframework.org/schema/beans
    5. http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
    6. <!-- 定义使用C3P0连接池的数据源 -->
    7. <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    8. <!-- 指定连接数据库的JDBC驱动 -->
    9. <property name="driverClass">
    10. <value>com.mysql.jdbc.Driver</value>
    11. </property>
    12. <!-- 连接数据库所用的URL -->
    13. <property name="jdbcUrl">
    14. <value>jdbc:mysql://localhost:3306/eportal?useUnicode=
    15. true&characterEncoding=gbk</value>
    16. </property>
    17. <!-- 连接数据库的用户名 -->
    18. <property name="user">
    19. <value>root</value>
    20. </property>
    21. <!-- 连接数据库的密码 -->
    22. <property name="password">
    23. <value>root</value>
    24. </property>
    25. <!-- 设置数据库连接池的最大连接数 -->
    26. <property name="maxPoolSize">
    27. <value>20</value>
    28. </property>
    29. <!-- 设置数据库连接池的最小连接数 -->
    30. <property name="minPoolSize">
    31. <value>2</value>
    32. </property>
    33. <!-- 设置数据库连接池的初始化连接数 -->
    34. <property name="initialPoolSize">
    35. <value>2</value>
    36. </property>
    37. <!-- 设置数据库连接池的连接的最大空闲时间,单位为秒 -->
    38. <property name="maxIdleTime">
    39. <value>20</value>
    40. </property>
    41. </bean>
    42. <!-- 定义Hibernate的SessionFactory -->
    43. <bean id="sessionFactory"
    44. class="org.springframework.orm.
    45. hibernate3.LocalSessionFactoryBean">
    46. <!-- 依赖注入上面定义的数据源dataSource -->
    47. <property name="dataSource" ref="dataSource" />
    48. <!-- 注册Hibernate的ORM映射文件 -->
    49. <property name="mappingResources">
    50. <list>
    51. <value>com/eportal/ORM/News.hbm.xml</value>
    52. <value>com/eportal/ORM/Category.hbm.xml</value>
    53. <value>com/eportal/ORM/Memberlevel.hbm.xml</value>
    54. <value>com/eportal/ORM/Cart.hbm.xml</value>
    55. <value>com/eportal/ORM/Traffic.hbm.xml</value>
    56. <value>com/eportal/ORM/Newsrule.hbm.xml</value>
    57. <value>com/eportal/ORM/Merchandise.hbm.xml</value>
    58. <value>com/eportal/ORM/Admin.hbm.xml</value>
    59. <value>com/eportal/ORM/Orders.hbm.xml</value>
    60. <value>com/eportal/ORM/Cartselectedmer.hbm.xml</value>
    61. <value>com/eportal/ORM/Newscolumns.hbm.xml</value>
    62. <value>com/eportal/ORM/Member.hbm.xml</value>
    63. </list>
    64. </property>
    65. <!-- 设置Hibernate的相关属性 -->
    66. <property name="hibernateProperties">
    67. <props>
    68. <!-- 设置Hibernate的数据库方言 -->
    69. <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
    70. <!-- 设置Hibernate是否在控制台输出SQL语句,开发调试阶段通常设为true -->
    71. <prop key="show_sql">true</prop>
    72. <!-- 设置Hibernate一个提交批次中的最大SQL语句数 -->
    73. <prop key="hibernate.jdbc.batch_size">50</prop>
    74. <prop key="show_sql">50</prop>
    75. </props>
    76. </property>
    77. </bean>
    78. <!--定义Hibernate的事务管理器HibernateTransactionManager -->
    79. <bean id="transactionManager"
    80. class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    81. <!-- 依赖注入上面定义的sessionFactory -->
    82. <property name="sessionFactory" ref="sessionFactory" />
    83. </bean>
    84. <!--定义Spring的事务拦截器TransactionInterceptor -->
    85. <bean id="transactionInterceptor"
    86. class="org.springframework.transaction.interceptor.TransactionInterceptor">
    87. <!-- 依赖注入上面定义的事务管理器transactionManager -->
    88. <property name="transactionManager" ref="transactionManager" />
    89. <!-- 定义需要进行事务拦截的方法及所采用的事务控制类型 -->
    90. <property name="transactionAttributes">
    91. <props>
    92. <!-- 以browse、list、load、get及is开头的所有方法采用只读型事务控制类型 -->
    93. <prop key="browse*">PROPAGATION_REQUIRED,readOnly</prop>
    94. <prop key="list*">PROPAGATION_REQUIRED,readOnly</prop>
    95. <prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>
    96. <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
    97. <prop key="is*">PROPAGATION_REQUIRED,readOnly</prop>
    98. <!-- 所有方法均进行事务控制,如果当前没有事务,则新建一个事务 -->
    99. <prop key="*">PROPAGATION_REQUIRED</prop>
    100. </props>
    101. </property>
    102. </bean>
    103. <!-- 定义BeanNameAutoProxyCreatorf进行Spring的事务处理 -->
    104. <bean
    105. class="org.springframework.aop.framework.autoproxy.
    106. BeanNameAutoProxyCreator">
    107. <!-- 针对指定的bean自动生成业务代理 -->
    108. <property name="beanNames">
    109. <list>
    110. <value>adminService</value>
    111. <value>columnsService</value>
    112. <value>newsService</value>
    113. <value>crawlService</value>
    114. <value>memberLevelService</value>
    115. <value>memberService</value>
    116. <value>categoryService</value>
    117. <value>merService</value>
    118. <value>cartService</value>
    119. <value>ordersService</value>
    120. <value>trafficService</value>
    121. </list>
    122. </property>
    123. <!-- 这个属性为true时,表示被代理的是目标类本身而不是目标类的接口 -->
    124. <property name="proxyTargetClass">
    125. <value>true</value>
    126. </property>
    127. <!-- 依赖注入上面定义的事务拦截器transactionInterceptor -->
    128. <property name="interceptorNames">
    129. <list>
    130. <value>transactionInterceptor</value>
    131. </list>
    132. </property>
    133. </bean>
    134. <!-- 装配通用数据库访问类BaseDAOImpl -->
    135. <bean id="dao" class="com.eportal.DAO.BaseDAOImpl">
    136. <property name="sessionFactory" ref="sessionFactory" />
    137. </bean>
    138. <!-- 部署系统用户管理业务逻辑组件AdminServiceImpl -->
    139. <bean id="adminService" class="com.eportal.service.AdminServiceImpl">
    140. <property name="dao" ref="dao" />
    141. </bean>
    142. <!-- 部署新闻栏目管理业务逻辑组件ColumnsServiceImpl -->
    143. <bean id="columnsService" class="com.eportal.service.ColumnsServiceImpl">
    144. <property name="dao" ref="dao" />
    145. </bean>
    146. <!-- 部署订单管理业务逻辑组件OrderServiceImpl -->
    147. <bean id="ordersService" class="com.eportal.service.OrderServiceImpl">
    148. <property name="dao" ref="dao" />
    149. </bean>
    150. <!-- 部署流量统计业务逻辑组件TrafficServiceImpl -->
    151. <bean id="trafficService" class="com.eportal.service.TrafficServiceImpl">
    152. <property name="dao" ref="dao" />
    153. </bean>
    154. <!-- 部署Struts 2负责系统用户管理的控制器AdminAction -->
    155. <bean id="adminAction" class="com.eportal.struts.action.
    156. AdminAction"
    157. scope="prototype">
    158. <property name="service" ref="adminService" />
    159. </bean>
    160. <!-- 部署Struts 2负责新闻栏目管理的控制器ColumnsAction -->
    161. <bean id="columnsAction" class="com.eportal.struts.action.
    162. ColumnsAction"
    163. scope="prototype">
    164. <property name="service" ref="columnsService" />
    165. </bean>
    166. <!-- 部署Struts 2负责新闻管理的控制器NewsAction -->
    167. <bean id="newsAction" class="com.eportal.struts.action.
    168. NewsAction"
    169. scope="prototype">
    170. <property name="service" ref="newsService" />
    171. <property name="columnsService" ref="columnsService" />
    172. </bean>
    173. <!-- 部署Struts 2负责新闻采集规则管理的控制器CrawlAction -->
    174. <bean id="crawlAction" class="com.eportal.struts.action.
    175. CrawlAction"
    176. scope="prototype">
    177. <property name="service" ref="crawlService" />
    178. <property name="columnsService" ref="columnsService" />
    179. </bean>
    180. </beans>

Spring 配置文件详解 (以2.5为例)的更多相关文章

  1. Spring配置文件详解 – applicationContext.xml文件路径

    Spring配置文件详解 – applicationContext.xml文件路径 Java编程                 spring的配置文件applicationContext.xml的默 ...

  2. spring配置文件详解--真的蛮详细

    spring配置文件详解--真的蛮详细   转自: http://book.51cto.com/art/201004/193743.htm 此处详细的为我们讲解了spring2.5的实现原理,感觉非常 ...

  3. J2EE进阶(四)Spring配置文件详解

    J2EE进阶(四)Spring配置文件详解 前言 Spring配置文件是用于指导Spring工厂进行Bean生产.依赖关系注入(装配)及Bean实例分发的"图纸".Java EE程 ...

  4. [转载]Spring配置文件详解一:

    原文地址:与base-package="com.xx">Spring配置文件详解一:<context:annotation-config/>与<contex ...

  5. spring配置文件详解以及beans:beans标签

    第一行的意思就是你这个文件的默认schema为security,所以你的beans定义就需要加上前缀beans 一般的定义文件默认都是beans: 下面是spring配置文件的详解: 转自:http: ...

  6. Spring配置文件详解

      转自: http://book.51cto.com/art/201004/193743.htm 此处详细的为我们讲解了spring2.5的实现原理,感觉非常有用 spring配置文件是用于指导Sp ...

  7. Spring配置文件详解 - applicationContext.xml文件路径

    spring的配置文件applicationContext.xml的默认地址在WEB-INF下,只要在web.xml中加入代码 org.springframework.web.context.Cont ...

  8. Spring配置文件详解:<context:annotation-config/>和<context:component-scan base-package=""/>和<mvc:annotation-driven />

    <context:annotation-config/> 在基于主机方式配置Spring时,Spring配置文件applicationContext.xml,你可能会见<contex ...

  9. 【 spring配置文件详解】

    转自: http://book.51cto.com/art/201004/193743.htm Spring配置文件是用于指导Spring工厂进行Bean生产.依赖关系注入(装配)及Bean实例分发的 ...

随机推荐

  1. 为什么接口类型可以直接new?

    Runnable rn = new Runnable() { public void run() { } }; 实际相当于,jdk会自动生成一个匿名内部类,完成职责: class Anomymous ...

  2. zTree学习文档和DEOM

    http://tool.oschina.net/apidocs/apidoc?api=ztree3.2%2Fapi%2FAPI_cn.html zTree的API http://www.ztree.m ...

  3. SQL2000/2005字符串拆分为列表通用函数

    ------------------------------------------------------------------ --  Author : htl258(Tony) --  Dat ...

  4. hash 分区的用途是什么?

    Hash partitioning enables easy partitioning of data that does not lend itself to rangeor list partit ...

  5. 【MySQL 安装过程2】MySQL安装到 最后一部 未响应 的解决方案

    首先我们应该做的 是在控制面板将MySQL 卸载.再进行以下的操作: 1.在开始菜单下,点击运行,输入regedit,进入注册表编辑器目录下 2.在注册表编辑器里system下找到controlset ...

  6. kylin cube测试时,报错:org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x

    异常: org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, i ...

  7. WebAPI身份验证

    对WebAPI接口的开放当然要做控制,需要身份验证如何做到呢. 进行身份验证后的 服务器拒绝了访问! 第一步添加一个CustomHandler.cs的类 1: using System; 2: usi ...

  8. POJ 2406 KMP/后缀数组

    题目链接:http://poj.org/problem?id=2406 题意:给定一个字符串,求由一个子串循环n次后可得到原串,输出n[即输出字符串的最大循环次数] 思路一:KMP求最小循环机,然后就 ...

  9. js-高级技术

    高级技术: 1.function Person(name,age,job){ this.name=name; this.age=age; this.job=job; } var person=new ...

  10. js兼容方法:获取当前样式|计算后样式 getStyle

    function getStyle(obj,attr){ if(obj.currentStyle){ //for IE return obj.currentStyle[attr]; }else{ re ...