<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:jee="http://www.springframework.org/schema/jee"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd">
<!-- ###========================= JavaMailConfig ======================== -->
<!-- <context:property-placeholder location="/WEB-INF/classes/jdbc.properties,/WEB-INF/classes/mail.properties" />-->
<context:property-placeholder location="classpath:jdbc.properties,classpath:mail.properties" />
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="${mail.host}" />
<property name="port" value="${mail.port}" />
<property name="username" value="${mail.username}" />
<property name="password" value="${mail.password}" />
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
</props>
</property>
</bean>
<bean id="SendMailUtil" class="co.jp.neusoft.billing.fw.util.SendMailUtil">
<property name="mailSender" ref="mailSender" />
<property name="sendUser" value="${mail.from}" />
</bean>
<!-- ###========================= DataSource ======================== -->
<bean id="dataSource" class="co.jp.neusoft.billing.fw.jdbc.dbcp.BillingDataSource"
destroy-method="close" init-method="initBillingDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="initialSize" value="${jdbc.initialSize}" />
<property name="maxActive" value="${jdbc.maxActive}" />
<property name="testOnBorrow" value="true" />
<property name="validationQuery" value="SELECT 1" />
<property name="validationQueryTimeout" value="3" />
<property name="testWhileIdle" value="true" />
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<property name="numTestsPerEvictionRun" value="3" />
<property name="maxIdle" value="10" />
<property name="minIdle" value="3" />
<!-- <property name="maxWait" value="${jdbc.maxWait}" />-->
</bean>
<!-- ###========================= MaxValueIncrementer ======================== -->
<bean lazy-init="true" id="maxValueIncrementer" abstract="true"
class="org.springframework.jdbc.support.incrementer.AbstractDataFieldMaxValueIncrementer">
<property name="dataSource">
<ref local="dataSource"/>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref local="dataSource"/>
</property>
</bean>
<!-- ###========================= TransactionManager ======================== -->
<!-- ===@since 2.0 Start=== -->
<!-- Enable @Transactional support -->
<tx:annotation-driven />
<aop:config>
<aop:pointcut id="serviceOperation" expression="execution(* co.jp.neusoft.billing..services.*Service.*(..))"/>
<aop:advisor pointcut-ref="serviceOperation" advice-ref="txAdvice"/>
</aop:config>
<tx:advice id="txAdvice">
<tx:attributes>
<tx:method name="get*" read-only="true"/>
<tx:method name="find*" read-only="true"/>
<tx:method name="select*" read-only="true"/>
<tx:method name="*" propagation="REQUIRED" rollback-for="Exception" />
</tx:attributes>
</tx:advice>
<!-- Enable @AspectJ support -->
<!-- <aop:aspectj-autoproxy />-->
<!-- ===@since 2.0 End=== -->
<bean id="actionLogAroundAdvisor" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="interceptorNames">
<list>
<value>actionLogAroundAdvice</value>
</list>
</property>
<property name="beanNames">
<list>
<value>/*</value>
</list>
</property>
</bean>
<bean id="actionLogAroundAdvice" class="co.jp.neusoft.billing.fw.aop.ActionLogAroundAdvice"/>
<aop:config>
<aop:aspect ref="serviceLogAroundAdvice">
<aop:around pointcut="execution(* co.jp.neusoft.billing.app..services.*Service.*(..))" method="invoke"/>
</aop:aspect>
</aop:config>
<bean id="serviceLogAroundAdvice" class="co.jp.neusoft.billing.fw.aop.ServiceLogAroundAdvice"/>
<!-- ###========================= SQL Map DAO ======================== -->
<bean id="sqlMapDao.rakuten" abstract="true"
class="org.springframework.orm.ibatis.support.SqlMapClientDaoSupport">
<property name="sqlMapClient">
<ref local="sqlMapClient"/>
</property>
</bean>
<bean id="sqlMapClient"
class="co.jp.neusoft.billing.fw.dao.IBatisSqlMapClientFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="sqlMapLocations"
value="classpath*:co/jp/neusoft/billing/**/dao/*-sql-map.xml"/>
<property name="statementCachingEnabled" value="true"/>
<property name="cacheModelsEnabled" value="true"/>
<property name="useStatementNamespaces" value="true"/>
</bean>
<bean id="BillingFrameworkStaticServiceBean"
class="co.jp.neusoft.billing.fw.services.BillingStaticServiceBean" />
<bean id="BasePagerService"
class="co.jp.neusoft.billing.fw.services.BasePagerService" />
<bean id="BillingDateUtil" class="co.jp.neusoft.billing.fw.util.DateUtil">
<property name="dateDao" ref="BillingBaseDao" />
</bean>
<bean id="BillingBaseDao" class="co.jp.neusoft.billing.fw.dao.AbstractDao" parent="sqlMapDao.rakuten" scope="prototype" />
<!-- 設定ファイルのインポート(仮) -->
<import resource="classpath*:co/jp/neusoft/billing/**/conf/*-context.xml"/>
<bean id="propertiesConfiguration"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="singleton" value="true" />
<property name="fileEncoding" value="utf8" />
<property name="ignoreResourceNotFound" value="true" />
<property name="locations">
<list>
<value>classpath:config.properties</value>
</list>
</property>
</bean>
<!-- XMemcached Client Config -->
<bean name="memcachedClientBuilder" class="net.rubyeye.xmemcached.XMemcachedClientBuilder">
<constructor-arg>
<list>
<bean class="java.net.InetSocketAddress">
<constructor-arg value="${billing.memcached.server.hostip}" />
<constructor-arg value="${billing.memcached.server.port}" />
</bean>
</list>
</constructor-arg>
<property name="connectionPoolSize" value="5" />
<property name="commandFactory">
<bean class="net.rubyeye.xmemcached.command.BinaryCommandFactory" />
</property>
<property name="sessionLocator">
<bean class="net.rubyeye.xmemcached.impl.KetamaMemcachedSessionLocator" />
</property>
<property name="transcoder">
<bean class="net.rubyeye.xmemcached.transcoders.SerializingTranscoder" />
</property>
</bean>
<bean name="memcachedClient" factory-bean="memcachedClientBuilder" factory-method="build" destroy-method="shutdown" />
</beans>
分享到:
相关推荐
在Spring框架中,XML配置是传统且广泛使用的方式来设置应用的组件和行为,包括实现定时任务。定时任务在软件开发中扮演着重要角色,它允许应用程序在预设的时间执行特定的任务,例如数据清理、日志归档或者发送通知...
### Eclipse 添加 Spring XML 文件提示详解 #### 一、引言 在进行Java开发时,Spring框架因其强大的功能和灵活性而被广泛使用。Spring框架通过管理Bean的生命周期来简化应用程序的开发过程。为了更好地管理和配置...
**Spring XML配置详解** 在Java开发领域,Spring框架以其强大的依赖注入(Dependency Injection,简称DI)和面向切面编程(Aspect-Oriented Programming,简称AOP)能力,成为了企业级应用开发的重要工具。本篇文章...
Spring XML配置是Spring框架中的一种常见方式,用于定义和管理应用程序中的bean及其依赖关系。以下是对Spring XML配置的12个技巧的详细说明: 1. 避免使用自动装配:Spring提供了自动装配功能,通过匹配bean属性或...
自己总结的spring xml配置的思维导图,包括了spring的基础配置
在Spring框架中,XML配置文件是定义和管理bean的主要方式之一。`class`属性在`<bean>`标签中起着至关重要的作用,因为它指定要实例化的Java类全路径。为了解决在编写XML配置时手动输入类全路径的不便,开发工具通常...
Spring XML配置是Spring框架中传统的配置方式,用于定义Bean的创建和依赖关系。在Spring中,事务管理是核心功能之一,确保数据操作的原子性、一致性、隔离性和持久性。本篇文章将详细介绍Spring中XML配置的事务管理...
Spring 框架是 Java 后端开发中的一个重要组成部分,尤其在传统的应用程序中,XML 配置文件扮演了核心角色。本实例将深入探讨 Spring 的 XML 配置机制,了解如何通过 XML 文件来管理和组织应用的组件。 XML 配置是 ...
spring在英文里有春天、弹簧、跳跃和泉眼的意思。Spring 也表示是一个开源框架,是为了解决企业应用程序开发复杂性由Rod Johnson创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时...
### Spring配置文件:整理与总结Spring中XML配置的最佳实践 #### 概述 Spring框架作为一个强大的Java应用框架,在企业级应用开发中占据了重要的地位。它为普通的Java对象(Plain Old Java Objects, POJOs)提供了...
标题 "SpringXML方式实现AOP demo" 涉及到的是使用Spring框架通过XML配置来实现面向切面编程(AOP)的知识。面向切面编程是Spring框架的一个核心特性,它允许开发者在不修改原有业务代码的情况下,对系统进行横切...
XML扩展是Spring框架早期的主要配置方式,允许开发者自定义标签来增强其功能。在本篇文章中,我们将深入探讨Spring XML扩展以及自定义标签技术。 首先,了解Spring XML配置的基本结构至关重要。在Spring应用中,...
该项目是一款基于POI框架和Spring XML配置风格的Java Excel导入导出功能设计源码,包含59个文件,涵盖47个Java源文件、5个Excel文件、2个XML配置文件以及少量其他辅助文件。该设计以强大易用的特点著称,支持Map类型...
下面将详细介绍Spring AOP的注解方式和XML配置方式。 ### 注解方式 #### 1. 定义切面(Aspect) 在Spring AOP中,切面是包含多个通知(advisors)的类。使用`@Aspect`注解标记切面类,例如: ```java @Aspect ...
在早期版本的Spring中,DI主要通过XML配置文件来实现,这就是所谓的Inversion of Control Container(控制反转容器),也就是IOC。本文将深入探讨Spring如何通过XML配置实现IOC,以及其背后的原理和应用。 首先,...
标题 "Spring全注解project示例 (无web.xml配置)" 提供了我们即将探讨的核心主题:一个使用Spring框架,完全依赖注解配置的项目,且没有传统的web.xml部署描述符。这种配置方式在现代Spring应用中非常常见,因为它...