第一行的意思就是你这个文件的默认 schema 为 security, 所以你的 beans 定义就需要加上前缀 beans
一般的定义文件默认都是 beans;
下面是 spring 配置文件的详解:
Spring 配置文件是用于指导 Spring 工厂进行 Bean 生产依赖关系注入 (装配) 及 Bean 实例分发的 "图纸"Java EE 程序员必须学会并灵活应用这份 "图纸" 准确地表达自己的 "生产意图"Spring 配置文件是一个或多个标准的 XML 文档, applicationContext.xml 是 Spring 的默认配置文件, 当容器启动时找不到指定的配置文档时, 将会尝试加载这个默认的配置文件
下面列举的是一份比较完整的配置文件模板, 文档中各 XML 标签节点的基本用途也给出了详细的解释, 这些 XML 标签节点在后续的知识点中均会用到, 熟练掌握了这些 XML 节点及属性的用途后, 为我们动手编写配置文件打下坚实的基础
下面, 就上面的配置列举一个示例:
- [html] view plain copy
- <?
- xml
- version="1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
- <!-- 定义使用 C3P0 连接池的数据源 -->
- <
- bean
- id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
- <!-- 指定连接数据库的 JDBC 驱动 -->
- <property name="driverClass">
- <
- value>com.mysql.jdbc.Driver</value>
- </property>
- <!-- 连接数据库所用的 URL -->
- <property name="jdbcUrl">
- <value>jdbc:mysql://localhost:3306/eportal?useUnicode=
- true&
- characterEncoding=gbk</value>
- </property>
- <!-- 连接数据库的用户名 -->
- <property name="user">
- <
- value>root</value>
- </property>
- <!-- 连接数据库的密码 -->
- <property name="password">
- <
- value>root</value>
- </property>
- <!-- 设置数据库连接池的最大连接数 -->
- <property name="maxPoolSize">
- <
- value>20</value>
- </property>
- <!-- 设置数据库连接池的最小连接数 -->
- <property name="minPoolSize">
- <
- value>2</value>
- </property>
- <!-- 设置数据库连接池的初始化连接数 -->
- <property name="initialPoolSize">
- <
- value>2</value>
- </property>
- <!-- 设置数据库连接池的连接的最大空闲时间, 单位为秒 -->
- <property name="maxIdleTime">
- <
- value>20</value>
- </property>
- </bean>
- <!-- 定义 Hibernate 的 SessionFactory -->
- <bean id="sessionFactory"
- class="org.springframework.orm.
- hibernate3.LocalSessionFactoryBean">
- <!-- 依赖注入上面定义的数据源 dataSource -->
- <
- property
- name="dataSource" ref="dataSource" />
- <!-- 注册 Hibernate 的 ORM 映射文件 -->
- <property name="mappingResources">
- <list>
- <
- value>com/eportal/ORM/News.hbm.xml</value>
- <
- value>com/eportal/ORM/Category.hbm.xml</value>
- <
- value>com/eportal/ORM/Memberlevel.hbm.xml</value>
- <
- value>com/eportal/ORM/Cart.hbm.xml</value>
- <
- value>com/eportal/ORM/Traffic.hbm.xml</value>
- <
- value>com/eportal/ORM/Newsrule.hbm.xml</value>
- <
- value>com/eportal/ORM/Merchandise.hbm.xml</value>
- <
- value>com/eportal/ORM/Admin.hbm.xml</value>
- <
- value>com/eportal/ORM/Orders.hbm.xml</value>
- <
- value>com/eportal/ORM/Cartselectedmer.hbm.xml</value>
- <
- value>com/eportal/ORM/Newscolumns.hbm.xml</value>
- <
- value>com/eportal/ORM/Member.hbm.xml</value>
- </list>
- </property>
- <!-- 设置 Hibernate 的相关属性 -->
- <property name="hibernateProperties">
- <props>
- <!-- 设置 Hibernate 的数据库方言 -->
- <
- prop
- key=
- "hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
- <!-- 设置 Hibernate 是否在控制台输出 SQL 语句, 开发调试阶段通常设为 true -->
- <
- prop
- key=
- "show_sql">true</prop>
- <!-- 设置 Hibernate 一个提交批次中的最大 SQL 语句数 -->
- <
- prop
- key=
- "hibernate.jdbc.batch_size">50</prop>
- <
- prop
- key=
- "show_sql">50</prop>
- </props>
- </property>
- </bean>
- <!-- 定义 Hibernate 的事务管理器 HibernateTransactionManager -->
- <bean id="transactionManager"
- class="org.springframework.orm.hibernate3.HibernateTransactionManager">
- <!-- 依赖注入上面定义的 sessionFactory -->
- <
- property
- name="sessionFactory" ref="sessionFactory" />
- </bean>
- <!-- 定义 Spring 的事务拦截器 TransactionInterceptor -->
- <bean id="transactionInterceptor"
- class="org.springframework.transaction.interceptor.TransactionInterceptor">
- <!-- 依赖注入上面定义的事务管理器 transactionManager -->
- <
- property
- name="transactionManager" ref="transactionManager" />
- <!-- 定义需要进行事务拦截的方法及所采用的事务控制类型 -->
- <property name="transactionAttributes">
- <props>
- <!-- 以 browselistloadget 及 is 开头的所有方法采用只读型事务控制类型 -->
- <
- prop
- key=
- "browse*">PROPAGATION_REQUIRED,readOnly</prop>
- <
- prop
- key=
- "list*">PROPAGATION_REQUIRED,readOnly</prop>
- <
- prop
- key=
- "load*">PROPAGATION_REQUIRED,readOnly</prop>
- <
- prop
- key=
- "get*">PROPAGATION_REQUIRED,readOnly</prop>
- <
- prop
- key=
- "is*">PROPAGATION_REQUIRED,readOnly</prop>
- <!-- 所有方法均进行事务控制, 如果当前没有事务, 则新建一个事务 -->
- <
- prop
- key=
- "*">PROPAGATION_REQUIRED</prop>
- </props>
- </property>
- </bean>
- <!-- 定义 BeanNameAutoProxyCreatorf 进行 Spring 的事务处理 -->
- <bean
- class="org.springframework.aop.framework.autoproxy.
- BeanNameAutoProxyCreator">
- <!-- 针对指定的 bean 自动生成业务代理 -->
- <property name="beanNames">
- <list>
- <
- value>adminService</value>
- <
- value>columnsService</value>
- <
- value>newsService</value>
- <
- value>crawlService</value>
- <
- value>memberLevelService</value>
- <
- value>memberService</value>
- <
- value>categoryService</value>
- <
- value>merService</value>
- <
- value>cartService</value>
- <
- value>ordersService</value>
- <
- value>trafficService</value>
- </list>
- </property>
- <!-- 这个属性为 true 时, 表示被代理的是目标类本身而不是目标类的接口 -->
- <property name="proxyTargetClass">
- <
- value>true</value>
- </property>
- <!-- 依赖注入上面定义的事务拦截器 transactionInterceptor -->
- <property name="interceptorNames">
- <list>
- <
- value>transactionInterceptor</value>
- </list>
- </property>
- </bean>
- <!-- 装配通用数据库访问类 BaseDAOImpl -->
- <
- bean
- id="dao" class="com.eportal.DAO.BaseDAOImpl">
- <
- property
- name="sessionFactory" ref="sessionFactory" />
- </bean>
- <!-- 部署系统用户管理业务逻辑组件 AdminServiceImpl -->
- <
- bean
- id="adminService" class="com.eportal.service.AdminServiceImpl">
- <
- property
- name="dao" ref="dao" />
- </bean>
- <!-- 部署新闻栏目管理业务逻辑组件 ColumnsServiceImpl -->
- <
- bean
- id="columnsService" class="com.eportal.service.ColumnsServiceImpl">
- <
- property
- name="dao" ref="dao" />
- </bean>
- <!-- 部署订单管理业务逻辑组件 OrderServiceImpl -->
- <
- bean
- id="ordersService" class="com.eportal.service.OrderServiceImpl">
- <
- property
- name="dao" ref="dao" />
- </bean>
- <!-- 部署流量统计业务逻辑组件 TrafficServiceImpl -->
- <bean id="trafficService" class="com.eportal.service.TrafficServiceImpl">
- <property name="dao" ref="dao" />
- </bean>
- <!-- 部署 Struts 2 负责系统用户管理的控制器 AdminAction -->
- <bean id="adminAction" class="com.eportal.struts.action.
- AdminAction"scope="prototype">
- <property name="service" ref="adminService" />
- </bean>
- <!-- 部署 Struts 2 负责新闻栏目管理的控制器 ColumnsAction -->
- <bean id="columnsAction" class="com.eportal.struts.action.
- ColumnsAction"scope="prototype">
- <property name="service" ref="columnsService" />
- </bean>
- <!-- 部署 Struts 2 负责新闻管理的控制器 NewsAction -->
- <bean id="newsAction" class="com.eportal.struts.action.
- NewsAction"scope="prototype">
- <property name="service" ref="newsService" />
- <property name="columnsService" ref="columnsService" />
- </bean>
- <!-- 部署 Struts 2 负责新闻采集规则管理的控制器 CrawlAction -->
- <bean id="crawlAction" class="com.eportal.struts.action.
- CrawlAction"scope="prototype">
- <property name="service" ref="crawlService" />
- <property name="columnsService" ref="columnsService" />
- </bean>
- </beans>
来源: http://www.bubuko.com/infodetail-2504515.html