本篇文章主要介绍了详解春天应用程序上下文。可扩展标记语言配置文件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
应用程序上下文。可扩展标记语言文件
?可扩展标记语言版本='1.0 '编码='UTF八号'?
豆子xmlns=' http://www。spring框架。org/schema/beans ' xmlns:context=' http://www。spring框架。' xmlns:xsi=' http://www。w3。org/2001/XML架构实例' xmlns:AOP=' http://www。spring框架。'组织/架构/AOP '
xmlns:tx=' http://www。spring框架。' xmlns:p=' http://www。spring框架。org/schema/p ' xmlns:util=' http://www。spring框架。org/schema/util ' xmlns:JDBC=' 3http://www .spring框架。'组织/架构/JDBC '
xmlns:cache=' http://www。spring框架。'组织/架构/缓存'
xsi:schemaLocation='
http://www.springframework.org/schema/context
http://www。spring框架。组织/模式/上下文/spring-context。xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/jdbc
http://www。spring框架。org/schema/JDBC/春天-JDBC-3.1。xsd
http://www.springframework.org/schema/cache
http://www。spring框架。org/schema/cache/spring-cache-3.1。xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util.xsd'
!-自动扫描网包,将带有注解的类纳入春天容器管理-
context:component-scan base-package=' comeduoinfo。财务。银行。web '/上下文:组件-扫描
!-引入jdbc配置文件-
bean id='属性配置器' class=' org。spring框架。豆子。工厂。配置。' propertyplaceholderconfigurer '
属性名="位置"
目录
价值类路径*:JDBC。属性/值
/列表
/属性
/bean
!-数据源配置-
bean id=' data source ' class=' com。阿里。德鲁伊。游泳池。druid数据源' init-method=' init ' destroy-method=' close '
!-基本属性网址,用户、密码-
属性名称='url '值='${jdbc.url}' /
属性名='用户名'值='${jdbc.username}' /
属性名='密码'值='${jdbc.password}' /
!-配置初始化大小、最小、最大-
属性名称='initialSize '值='1' /
属性名称='minIdle '值='1' /
属性名称='maxActive '值='20' /
!-配置获取连接等待超时的时间-
属性名称='maxWait '值='60000' /
!-配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒-
属性名称=' timeBetweenEvictionRunsMillis '值='60000' /
!-配置一个连接在池中最小生存的时间,单位是毫秒-
属性名称='minEvictableIdleTimeMillis '值='300000' /
属性名='验证查询'值='选择' x ' '/
属性名称='testWhileIdle '值='真'/
属性名称='testOnBorrow '值='false' /
属性名称='testOnReturn '值='false' /
!-打开PSCache,并且指定每个连接上PSCache的大小-
属性名称='poolPreparedStatements '值='false' /
属性名称=' maxPoolPreparedStatementPerConnectionSize '值='20' /
!-配置监控统计拦截的过滤器-
属性名称='过滤器'值='stat' /
/bean
!-我的巴蒂斯文件配置,扫描所有制图人文件-
bean id=' sqlSessionFactory ' class=' org。我的巴蒂斯。春天。sqlsessionfactorybean ' p:data source-ref=' data source ' p:config location=' class path:mybatis-config。XML ' p:mapper locations=' class path:com/edu oinfo/financies/bank/web/Dao/* .xml' /
!春天与米巴蒂斯整合配置,扫描所有道-
bean class=' org . mybatis . spring . mapper . mapper scanner configurer ' p:base package=' com . eduoinfo . finances . bank . web . Dao ' p:sqlsessionfactorybean name=' sqlSessionFactory '/
!data source数据源的事务管理-
bean id=' transaction manager ' class=' org . spring framework . JDBC . data source . data source transactionManager ' p:data source-ref=' data source '/
!-配置Spring以采用CGLIB代理-
AOP:AspectJ-autoproxy proxy-target-class=' true '/
!-启用对事务注释的支持-
tx:批注驱动的事务管理器='transactionManager' /
!-缓存配置-
缓存:批注驱动的缓存管理器='cacheManager' /
bean id=' ehCacheManagerFactory ' class=' org . spring framework . cache . ehcache . ehcachemanagerfactorybean ' p:config location=' class path:ehcache . XML '/
bean id=' cache manager ' class=' org . spring framework . cache . ehcache . ehcachemanager ' p:cache manager-ref=' ehCacheManagerFactory '/
/豆子
1.context:component-scan base-package=' com . eduoinfo . finances . bank . web '/context:初始化Spring容器时使用component-scan。扫描com.eduoinfo.finances.bank.web下标有(@ component、@ service、@ controller、@ repository)的类,将其纳入spring容器管理。
在类上,使用以下注释来实现bean的声明。
@Component一般指组件。当组件没有被很好地分类时,我们可以使用这个注释来标记它们。
@Service用于标记业务层组件。
@Controller用于标记控制层组件(如struts中的srping mvc和action的控制器)
@Repository用于标记数据访问组件,即DAO组件。
示例:
@控制器
@RequestMapping(value='/test ')
公共类TestController {
}
在类的成员变量上,使用下面的注释来实现属性的自动组装。
@Autowired:按类的类型组装。
@Resource(推荐):
1如果同时指定了名称和类型,将从spring上下文中为assembly找到唯一匹配的bean,如果没有找到,将抛出异常。
2.如果指定了name,将从程序集的上下文中找到具有匹配名称(id)的bean,如果找不到,将引发异常。
3.如果指定了type,将从程序集的上下文中找到具有类型匹配的唯一bean。如果没有找到多个beans,将会抛出一个异常。
4.如果既没有指定名称也没有指定类型,则根据byName方法自动进行组装;如果不匹配,则回到原始类型进行匹配,如果匹配,则自动组装;
@Resource注释在字段上,不用写setter方法,而且这个注释属于J2EE,减少了和spring的耦合。
示例:
@资源
私有TestServiceImpl TestServiceImpl;
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。