spring初始化配置文件
来源:互联网 发布:淘宝网店编辑岗位说明 编辑:程序博客网 时间:2024/06/18 15:53
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SpringManager {
private static ClassPathXmlApplicationContext context = null;
static{
init();
}
/**
*
*/
public static synchronized void init(){
if(context==null){
context = new ClassPathXmlApplicationContext("conf/SpringContext.xml");
}
}
public Object getBean(String beanName){
return context.getBean(beanName);
}
}
<?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:jee="http://www.springframework.org/schema/jee"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core-5.2.0.xsd">
<!-- ========================= RESOURCE DEFINITIONS ========================= -->
<!--
<jee:jndi-lookup id="dataSource" jndi-name="java:itv" />
-->
<bean id="dataSource_aaa" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@172.21.11.142:1521:corac"/>
<property name="username" value="gd_aaa"/>
<property name="password" value="cxxx"/>
<property name="initialSize" value="5" />
<property name="maxActive" value="100"/>
<property name="maxIdle" value="30" />
<property name="maxWait" value="1000" />
<property name="poolPreparedStatements" value="true"/>
<property name="defaultAutoCommit" value="true" />
<property name="removeAbandoned" value="true" />
<property name="removeAbandonedTimeout" value="5" />
</bean>
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref bean="dataSource_aaa"/>
</property>
</bean>
<bean id="sqlMapClient_aaa"
class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="classpath:conf/sql-map-config.xml" />
<property name="dataSource" ref="dataSource_aaa" />
</bean>
<bean id="baseTransactionProxy" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref local="transactionManager" />
</property>
<property name="transactionAttributes">
<props>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="search*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="count*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="create*">PROPAGATION_REQUIRED</prop>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="modify*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="shift*">PROPAGATION_REQUIRED</prop>
<prop key="del*">PROPAGATION_REQUIRED</prop>
<prop key="remove*">PROPAGATION_REQUIRED</prop>
<prop key="upload*">PROPAGATION_REQUIRED</prop>
<prop key="purchase*">PROPAGATION_REQUIRED</prop>
<prop key="cancel*">PROPAGATION_REQUIRED</prop>
<prop key="do*">PROPAGATION_REQUIRED</prop>
<prop key="*Delete">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<import resource="SpringTask.xml" />
<!--提取数据时下面的XML 注释 -->
<import resource="SpringJob.xml" />
<import resource="SpringTimer.xml" />
<import resource="SpringTriger.xml" />
</beans>
SpringTask.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<bean id="orderTaskRun" class="com.coship.report.task.BaseReportRunTask">
<property name="sqlMapClient">
<ref bean="sqlMapClient_aaa" />
</property>
<!-- Ftp properties -->
<property name="ftpIp">
<value>10.9.216.3</value>
</property>
<property name="ftpPort">
<value>21</value>
</property>
<property name="ftpUser">
<value>root</value>
</property>
<property name="ftpPassword">
<value>coship</value>
</property>
<property name="ftpPath">
<value>/home/report</value>
</property>
<property name="sqlId">
<value>orderTask</value>
</property>
<property name="perPagerRows">
<value>10000</value>
</property>
<property name="localTmpFilePath">
<value>/tmp/</value>
</property>
<property name="writeColumns">
<value>SUB_ID,USER_CODE,SMARTCARD_ID,SUBSCRIBE_TIME,SUBSCRIBE_DATE,SERVICE_CODE,REAL_PRICE,ORDER_TYPE,RESOURCE_ID,GOODS_CODE,PRODOFFERING_CODE,ENABLE_TIME,DISABLE_TIME,validTime,UNSUBSCRIBE_TIME</value>
</property>
<property name="fileMaxRows">
<value>50000</value>
</property>
<property name="moduleName">
<value>orderTask</value>
</property>
<property name="applicationName">
<value>dhm</value>
</property>
<property name="beforePrefix">
<value></value>
</property>
<property name="afterPrefix">
<value></value>
</property>
<property name="columnPrefix">
<value>],[</value>
</property>
</bean>
</beans>
SpringJob.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<bean id="orderJob"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="orderTask" />
</property>
<property name="targetMethod">
<value>run</value>
</property>
</bean>
</beans>
SpringTimer.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<!-- 这种配置可以精确几点执行定时任务 -->
<!-- 一个cron表达式有到少6个(也可能是7个)由空格分隔的时间元素.从左到右,这些元素的定义如下:
1.秒(0-59)
2.分钟(0-59)
3.小时(0-23)
4.月份中的是期(1-31)
5.月份(1-12或SUN-DEC)
6.星期中的日期(1-7或SUN-SAT)
7.年份(1970-2099)
例子:
0 0 10,14,16 * * ? 每天上午10点,下午2点和下午4点
0 0,15,30,45 * 1-10 * ? 每月前10天每隔15分钟
30 0 0 1 1 ? 2012 在2012年1月1日午夜过30秒时
0 0 8-5 ? * MON-FRI 每个工作日的工作时间
- 区间
* 通配符
? 你不想设置那个字段
-->
<bean id="orderTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="orderJob"></ref>
</property>
<property name="cronExpression">
<value>0 10 23 * * ?</value>
</property>
</bean>
<bean id="EpgByColumnCountTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="EpgByColumnCountJob"/>
<property name="cronExpression" value="0 30 0 * * ?"/>
</bean>
</beans>
SpringTriger.xml
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="orderTrigger"></ref>
</list>
</property>
</bean>
sql-map-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="/conf/reportForIEPG.xml"/>
</sqlMapConfig>
reportForIEPG.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="report">
<!-- 订购信息 -->
<resultMap id="resultOrderInfoMap" class="java.util.HashMap">
<result property="SUB_ID" column="SUB_ID" />
<result property="USER_CODE" column="USER_CODE" />
<result property="SMARTCARD_ID" column="SMARTCARD_ID" />
<result property="SUBSCRIBE_TIME" column="SUBSCRIBE_TIME" />
<result property="SUBSCRIBE_DATE" column="SUBSCRIBE_DATE" />
<result property="SERVICE_CODE" column="SERVICE_CODE" />
<result property="REAL_PRICE" column="REAL_PRICE" />
<result property="ORDER_TYPE" column="ORDER_TYPE" />
<result property="RESOURCE_ID" column="RESOURCE_ID" />
<result property="GOODS_CODE" column="GOODS_CODE" />
<result property="PRODOFFERING_CODE" column="PRODOFFERING_CODE" />
<result property="ENABLE_TIME" column="ENABLE_TIME" />
<result property="DISABLE_TIME" column="DISABLE_TIME" />
<result property="validTime" column="VALID_TIME" />
<result property="UNSUBSCRIBE_TIME" column="UNSUBSCRIBE_TIME" />
</resultMap>
<select id="orderTask" resultMap="resultOrderInfoMap">
<![CDATA[
select a.SUB_ID,
u.USER_CODE,
u.SMARTCARD_ID,
a.SUBSCRIBE_TIME,
to_char(a.SUBSCRIBE_TIME,'YYYY-MM-DD') as SUBSCRIBE_DATE,
'' SERVICE_CODE,
b.REAL_PRICE,
a.ORDER_TYPE,
a.RESOURCE_ID,
g.GOODS_CODE,
a.PRODOFFERING_CODE,
to_char(a.ENABLE_TIME,'yyyy-mm-dd hh24:mi:ss') as ENABLE_TIME,
to_char(a.DISABLE_TIME,'yyyy-mm-dd hh24:mi:ss') as DISABLE_TIME,
(a.disable_time-a.enable_time)*24*60 as VALID_TIME,
a.UNSUBSCRIBE_TIME
from t_subscription a
left join t_billing b on a.sub_id = b.sub_id
left join t_user u on a.USER_ID = u.USER_ID
left join T_AAA_GOODS g on a.goods_id=g.goods_id
where
a.status='1'
and a.SUBSCRIBE_TIME < trunc(sysdate)
]]>
</select>
</sqlMap>
public class SpringManager {
private static ClassPathXmlApplicationContext context = null;
static{
init();
}
/**
*
*/
public static synchronized void init(){
if(context==null){
context = new ClassPathXmlApplicationContext("conf/SpringContext.xml");
}
}
public Object getBean(String beanName){
return context.getBean(beanName);
}
}
<?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:jee="http://www.springframework.org/schema/jee"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core-5.2.0.xsd">
<!-- ========================= RESOURCE DEFINITIONS ========================= -->
<!--
<jee:jndi-lookup id="dataSource" jndi-name="java:itv" />
-->
<bean id="dataSource_aaa" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@172.21.11.142:1521:corac"/>
<property name="username" value="gd_aaa"/>
<property name="password" value="cxxx"/>
<property name="initialSize" value="5" />
<property name="maxActive" value="100"/>
<property name="maxIdle" value="30" />
<property name="maxWait" value="1000" />
<property name="poolPreparedStatements" value="true"/>
<property name="defaultAutoCommit" value="true" />
<property name="removeAbandoned" value="true" />
<property name="removeAbandonedTimeout" value="5" />
</bean>
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource">
<ref bean="dataSource_aaa"/>
</property>
</bean>
<bean id="sqlMapClient_aaa"
class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="classpath:conf/sql-map-config.xml" />
<property name="dataSource" ref="dataSource_aaa" />
</bean>
<bean id="baseTransactionProxy" abstract="true"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref local="transactionManager" />
</property>
<property name="transactionAttributes">
<props>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="search*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="count*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="save*">PROPAGATION_REQUIRED</prop>
<prop key="add*">PROPAGATION_REQUIRED</prop>
<prop key="create*">PROPAGATION_REQUIRED</prop>
<prop key="insert*">PROPAGATION_REQUIRED</prop>
<prop key="update*">PROPAGATION_REQUIRED</prop>
<prop key="modify*">PROPAGATION_REQUIRED</prop>
<prop key="delete*">PROPAGATION_REQUIRED</prop>
<prop key="shift*">PROPAGATION_REQUIRED</prop>
<prop key="del*">PROPAGATION_REQUIRED</prop>
<prop key="remove*">PROPAGATION_REQUIRED</prop>
<prop key="upload*">PROPAGATION_REQUIRED</prop>
<prop key="purchase*">PROPAGATION_REQUIRED</prop>
<prop key="cancel*">PROPAGATION_REQUIRED</prop>
<prop key="do*">PROPAGATION_REQUIRED</prop>
<prop key="*Delete">PROPAGATION_REQUIRED</prop>
<prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
</props>
</property>
</bean>
<import resource="SpringTask.xml" />
<!--提取数据时下面的XML 注释 -->
<import resource="SpringJob.xml" />
<import resource="SpringTimer.xml" />
<import resource="SpringTriger.xml" />
</beans>
SpringTask.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<bean id="orderTaskRun" class="com.coship.report.task.BaseReportRunTask">
<property name="sqlMapClient">
<ref bean="sqlMapClient_aaa" />
</property>
<!-- Ftp properties -->
<property name="ftpIp">
<value>10.9.216.3</value>
</property>
<property name="ftpPort">
<value>21</value>
</property>
<property name="ftpUser">
<value>root</value>
</property>
<property name="ftpPassword">
<value>coship</value>
</property>
<property name="ftpPath">
<value>/home/report</value>
</property>
<property name="sqlId">
<value>orderTask</value>
</property>
<property name="perPagerRows">
<value>10000</value>
</property>
<property name="localTmpFilePath">
<value>/tmp/</value>
</property>
<property name="writeColumns">
<value>SUB_ID,USER_CODE,SMARTCARD_ID,SUBSCRIBE_TIME,SUBSCRIBE_DATE,SERVICE_CODE,REAL_PRICE,ORDER_TYPE,RESOURCE_ID,GOODS_CODE,PRODOFFERING_CODE,ENABLE_TIME,DISABLE_TIME,validTime,UNSUBSCRIBE_TIME</value>
</property>
<property name="fileMaxRows">
<value>50000</value>
</property>
<property name="moduleName">
<value>orderTask</value>
</property>
<property name="applicationName">
<value>dhm</value>
</property>
<property name="beforePrefix">
<value></value>
</property>
<property name="afterPrefix">
<value></value>
</property>
<property name="columnPrefix">
<value>],[</value>
</property>
</bean>
</beans>
SpringJob.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<bean id="orderJob"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="orderTask" />
</property>
<property name="targetMethod">
<value>run</value>
</property>
</bean>
</beans>
SpringTimer.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<!-- 这种配置可以精确几点执行定时任务 -->
<!-- 一个cron表达式有到少6个(也可能是7个)由空格分隔的时间元素.从左到右,这些元素的定义如下:
1.秒(0-59)
2.分钟(0-59)
3.小时(0-23)
4.月份中的是期(1-31)
5.月份(1-12或SUN-DEC)
6.星期中的日期(1-7或SUN-SAT)
7.年份(1970-2099)
例子:
0 0 10,14,16 * * ? 每天上午10点,下午2点和下午4点
0 0,15,30,45 * 1-10 * ? 每月前10天每隔15分钟
30 0 0 1 1 ? 2012 在2012年1月1日午夜过30秒时
0 0 8-5 ? * MON-FRI 每个工作日的工作时间
- 区间
* 通配符
? 你不想设置那个字段
-->
<bean id="orderTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="orderJob"></ref>
</property>
<property name="cronExpression">
<value>0 10 23 * * ?</value>
</property>
</bean>
<bean id="EpgByColumnCountTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="EpgByColumnCountJob"/>
<property name="cronExpression" value="0 30 0 * * ?"/>
</bean>
</beans>
SpringTriger.xml
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="orderTrigger"></ref>
</list>
</property>
</bean>
sql-map-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<sqlMap resource="/conf/reportForIEPG.xml"/>
</sqlMapConfig>
reportForIEPG.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="report">
<!-- 订购信息 -->
<resultMap id="resultOrderInfoMap" class="java.util.HashMap">
<result property="SUB_ID" column="SUB_ID" />
<result property="USER_CODE" column="USER_CODE" />
<result property="SMARTCARD_ID" column="SMARTCARD_ID" />
<result property="SUBSCRIBE_TIME" column="SUBSCRIBE_TIME" />
<result property="SUBSCRIBE_DATE" column="SUBSCRIBE_DATE" />
<result property="SERVICE_CODE" column="SERVICE_CODE" />
<result property="REAL_PRICE" column="REAL_PRICE" />
<result property="ORDER_TYPE" column="ORDER_TYPE" />
<result property="RESOURCE_ID" column="RESOURCE_ID" />
<result property="GOODS_CODE" column="GOODS_CODE" />
<result property="PRODOFFERING_CODE" column="PRODOFFERING_CODE" />
<result property="ENABLE_TIME" column="ENABLE_TIME" />
<result property="DISABLE_TIME" column="DISABLE_TIME" />
<result property="validTime" column="VALID_TIME" />
<result property="UNSUBSCRIBE_TIME" column="UNSUBSCRIBE_TIME" />
</resultMap>
<select id="orderTask" resultMap="resultOrderInfoMap">
<![CDATA[
select a.SUB_ID,
u.USER_CODE,
u.SMARTCARD_ID,
a.SUBSCRIBE_TIME,
to_char(a.SUBSCRIBE_TIME,'YYYY-MM-DD') as SUBSCRIBE_DATE,
'' SERVICE_CODE,
b.REAL_PRICE,
a.ORDER_TYPE,
a.RESOURCE_ID,
g.GOODS_CODE,
a.PRODOFFERING_CODE,
to_char(a.ENABLE_TIME,'yyyy-mm-dd hh24:mi:ss') as ENABLE_TIME,
to_char(a.DISABLE_TIME,'yyyy-mm-dd hh24:mi:ss') as DISABLE_TIME,
(a.disable_time-a.enable_time)*24*60 as VALID_TIME,
a.UNSUBSCRIBE_TIME
from t_subscription a
left join t_billing b on a.sub_id = b.sub_id
left join t_user u on a.USER_ID = u.USER_ID
left join T_AAA_GOODS g on a.goods_id=g.goods_id
where
a.status='1'
and a.SUBSCRIBE_TIME < trunc(sysdate)
]]>
</select>
</sqlMap>
0 0
- spring工具-- 配置文件初始化.
- spring初始化配置文件
- 初始化spring配置文件
- Spring PropertyPlaceholderConfigurer初始化properties配置文件
- Spring初始化之扩展xml配置文件
- spring读取配置文件初始化容器操作总结
- spring读取配置文件初始化容器操作总结
- spring读取配置文件初始化容器操作总结
- spring读取配置文件初始化容器操作总结
- spring读取配置文件初始化容器操作
- spring读取配置文件初始化容器操作
- 从配置文件中初始化spring profile
- Spring初始化读取配置文件与placeholder使用
- spring读取配置文件初始化容器操作总结
- spring源码学习 - 配置文件bean的初始化
- 工作学习之spring:spring初始化读取xml配置文件
- 如何告诉spring初始化指定配置文件中的javabean
- web工程初始化spring容器, 并读入总配置文件
- JSONP和AJAX不同过程的详细分析
- 使用jsoup解析HTML之jsoup和HTML DOM简介
- JAVA调用存储过程实例(1)
- xcode archived issue:'Cordova/CDVViewController.h' file not found
- Python第三方库代码总结
- spring初始化配置文件
- idea 14注册码生成
- 窗体数据Excle导入功能详解
- 我为什么学习Python
- 数据库设计需要注意的问题
- Linux操作系统入门-进程管理
- iOS开发基础知识:Core Animation(核心动画)
- 数据结构-链式线性表基本操作实现
- CSU 1537