本篇文章主要介绍了详解春天应用程序上下文。可扩展标记语言配置文件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
应用程序上下文。可扩展标记语言文件
?可扩展标记语言版本=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;
这就是本文的全部内容。希望对大家的学习有帮助,支持我们。