常用的spring 配置文件备忘



ApplicationContext
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:context="http://www.springframework.org/schema/context"
  xmlns="http://www.springframework.org/schema/beans"
  xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

  <dubbo:annotation />
  <context:component-scan base-package="com.flyingtiger"/>
  <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
      <list>
        <value>classpath:config/*.properties</value>
      </list>
    </property>
    <property name="ignoreUnresolvablePlaceholders" value="true"/>
  </bean>
  <bean class="com.flyingtiger.quote.provider.util.PackageMessageUtil"/>
  <import resource="redis.xml"/>
  <import resource="rabbit.xml"/>
  <import resource="mybatis.xml"/>
  <import resource="mvc.xml"/>
  <import resource="quartz.xml"/>
  <import resource="dubbo.xml"/>

</beans>

spring-mybatis

<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://www.springframework.org/schema/beans"
  xmlns:tx="http://www.springframework.org/schema/tx"
  xsi:schemaLocation="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">

  <bean id="transactionManager"
    class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource"/>
  </bean>

  <tx:annotation-driven transaction-manager="transactionManager"/>

  <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
    <property name="driverClassName" value="${mysql.driver}"/>
    <property name="url" value="${mysql.url}"/>
    <property name="username" value="${mysql.username}"/>
    <property name="password" value="${mysql.password}"/>
    <property name="initialSize" value="${mysql.initialSize}"/>
    <property name="maxActive" value="${mysql.maxActive}"/>
    <property name="minIdle" value="${mysql.minIdle}"/>
    <property name="maxWait" value="60000"/>
    <property name="validationQuery" value="SELECT 1"/>
    <property name="testOnBorrow" value="false"/>
    <property name="testOnReturn" value="false"/>
    <property name="testWhileIdle" value="true"/>
    <property name="timeBetweenEvictionRunsMillis" value="60000"/>
    <property name="minEvictableIdleTimeMillis" value="25200000"/>
    <property name="removeAbandoned" value="true"/>
    <property name="removeAbandonedTimeout" value="1800"/>
    <property name="logAbandoned" value="true"/>
  </bean>

  <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="configLocation" value="classpath:mybatis/mybatis-config.xml"/>
  </bean>

  <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.flyingtiger.quote.provider.dao"/>
    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
  </bean>
</beans>

spring-quartz

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://www.springframework.org/schema/beans"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       ">
  <bean id="exchangeService" scope="singleton"
    class="com.flyingtiger.quote.provider.http.service.ExchangeService"/>
  <bean id="contractService" scope="singleton"
    class="com.flyingtiger.quote.provider.service.ContractService"/>
  <!-- JOBS -->
  <bean id="reloadExchangeJob"
    class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    <property name="targetObject" ref="exchangeService"/>
    <property name="targetMethod" value="loadExchange"/>
  </bean>

  <!-- TRIGGERS -->
  <bean id="reloadExchangeTrigger"
    class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
    <property name="jobDetail" ref="reloadExchangeJob"/>
    <property name="cronExpression" value="0 */1 * * * ?"/>
  </bean>
  <!-- scheduler -->
  <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
      <list>
        <ref bean="reloadExchangeTrigger"/>
      </list>
    </property>
    <property name="waitForJobsToCompleteOnShutdown" value="true" />
  </bean>

</beans>

spring-rabbit
<?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:rabbit="http://www.springframework.org/schema/rabbit"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/rabbit http://www.springframework.org/schema/rabbit/spring-rabbit.xsd">

  <bean id="rabbitConnectionFactory"
    class="org.springframework.amqp.rabbit.connection.CachingConnectionFactory">
    <property name="addresses" value="${rabbitmq.addresses}"/>
    <property name="username" value="${rabbitmq.username}"/>
    <property name="password" value="${rabbitmq.password}"/>
    <property name="connectionThreadFactory" ref="trim"/>
    <property name="channelCacheSize" value="${rabbitmq.channelCacheSize}"/>
    <property name="connectionLimit" value="${rabbitmq.connectionLimit}"/>
    <property name="channelCheckoutTimeout" value="${rabbitmq.channelCheckoutTimeout}"/>
  </bean>

  <bean id="trim" class="org.springframework.scheduling.concurrent.CustomizableThreadFactory">
    <constructor-arg value="rabbitmq-"/>
  </bean>

  <rabbit:template id="amqpTemplate" connection-factory="rabbitConnectionFactory"/>

  <rabbit:admin connection-factory="rabbitConnectionFactory"/>
  <rabbit:queue id="queueMarketPrice" durable="true" auto-delete="false" exclusive="false"
    name="marketPrice"/>
  <rabbit:queue id="queueDealHistory" durable="true" auto-delete="false" exclusive="false"
    name="dealHistory"/>
  <rabbit:queue id="queueTrendItem" durable="true" auto-delete="false" exclusive="false"
    name="trendItem"/>
  <rabbit:queue id="queueMinKdataItem" durable="true" auto-delete="false" exclusive="false"
    name="minKdataItem"/>
  <rabbit:queue id="queueFiveMinKdataItem" durable="true" auto-delete="false" exclusive="false"
    name="fiveMinKdataItem"/>
  <rabbit:queue id="queueQuarterHourKdataItem" durable="true" auto-delete="false" exclusive="false"
    name="quarterHourKdataItem"/>
  <rabbit:queue id="queueHalfHourKdataItem" durable="true" auto-delete="false" exclusive="false"
    name="halfHourKdataItem"/>
  <rabbit:queue id="queueHourKdataItem" durable="true" auto-delete="false" exclusive="false"
    name="hourKdataItem"/>
  <rabbit:queue id="queueDayKdataItem" durable="true" auto-delete="false" exclusive="false"
    name="dayKdataItem"/>
  <rabbit:queue id="queueWeekKdataItem" durable="true" auto-delete="false" exclusive="false"
    name="weekKdataItem"/>
  <rabbit:queue id="queueMonthKdataItem" durable="true" auto-delete="false" exclusive="false"
    name="monthKdataItem"/>
  <rabbit:queue id="queueYearKdataItem" durable="true" auto-delete="false" exclusive="false"
    name="yearKdataItem"/>


  <bean id="marketPriceListener"
    class="com.flyingtiger.quote.provider.listener.MarketValueListener"/>
  <bean id="historyDealListener"
    class="com.flyingtiger.quote.provider.listener.HistoryDealValueListener"/>
  <bean id="trendDetailListener"
    class="com.flyingtiger.quote.provider.listener.TrendDetailListener"/>
  <bean id="minKDataListener" class="com.flyingtiger.quote.provider.listener.MinKDataListener"/>
  <bean id="fiveMinKDataListener"
    class="com.flyingtiger.quote.provider.listener.FiveMinKDataListener"/>
  <bean id="quarterHourKDataListener"
    class="com.flyingtiger.quote.provider.listener.QuarterHourKDataListener"/>
  <bean id="hourKDataListener" class="com.flyingtiger.quote.provider.listener.HourKDataListener"/>
  <bean id="halfHourKDataListener"
    class="com.flyingtiger.quote.provider.listener.HalfHourKDataListener"/>
  <bean id="dayKDataListener" class="com.flyingtiger.quote.provider.listener.DayKDataListener"/>
  <bean id="monthKDataListener" class="com.flyingtiger.quote.provider.listener.MonthKDataListener"/>
  <bean id="weekKDataListener" class="com.flyingtiger.quote.provider.listener.WeekKDataListener"/>
  <bean id="yearKDataListener" class="com.flyingtiger.quote.provider.listener.YearKDataListener"/>

  <rabbit:direct-exchange id="exchangeQuoteTrim" name="quoteTrim" durable="true"
    auto-delete="false">
    <rabbit:bindings>
      <rabbit:binding queue="queueMarketPrice" key="marketPrice"/>
      <rabbit:binding queue="queueTrendItem" key="trendItem"/>
      <rabbit:binding queue="queueDealHistory" key="dealHistory"/>
      <rabbit:binding queue="queueMinKdataItem" key="minKdataItem"/>
      <rabbit:binding queue="queueFiveMinKdataItem" key="fiveMinKdataItem"/>
      <rabbit:binding queue="queueQuarterHourKdataItem" key="quarterHourKdataItem"/>
      <rabbit:binding queue="queueHalfHourKdataItem" key="halfHourKdataItem"/>
      <rabbit:binding queue="queueHourKdataItem" key="quarterHourKdataItem"/>
      <rabbit:binding queue="queueDayKdataItem" key="dayKdataItem"/>
      <rabbit:binding queue="queueWeekKdataItem" key="weekKdataItem"/>
      <rabbit:binding queue="queueMonthKdataItem" key="monthKdataItem"/>
      <rabbit:binding queue="queueYearKdataItem" key="yearKdataItem"/>
    </rabbit:bindings>
  </rabbit:direct-exchange>

  <rabbit:listener-container connection-factory="rabbitConnectionFactory">
    <rabbit:listener ref="marketPriceListener" queues="queueMarketPrice"/>
    <rabbit:listener ref="historyDealListener" queues="queueDealHistory"/>
    <rabbit:listener ref="trendDetailListener" queues="queueTrendItem"/>
    <rabbit:listener ref="minKDataListener" queues="queueMinKdataItem"/>
    <rabbit:listener ref="fiveMinKDataListener" queues="queueFiveMinKdataItem"/>
    <rabbit:listener ref="quarterHourKDataListener" queues="queueQuarterHourKdataItem"/>
    <rabbit:listener ref="halfHourKDataListener" queues="queueHalfHourKdataItem"/>
    <rabbit:listener ref="hourKDataListener" queues="queueHourKdataItem"/>
    <rabbit:listener ref="dayKDataListener" queues="queueDayKdataItem"/>
    <rabbit:listener ref="weekKDataListener" queues="queueWeekKdataItem"/>
    <rabbit:listener ref="monthKDataListener" queues="queueMonthKdataItem"/>
    <rabbit:listener ref="yearKDataListener" queues="queueYearKdataItem"/>
  </rabbit:listener-container>
</beans>

spring-redis

<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://www.springframework.org/schema/beans"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

  <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
    <property name="maxIdle" value="${redis.pool.maxIdle}"/>
    <property name="minIdle" value="${redis.pool.minIdle}"/>
    <property name="testOnBorrow" value="${redis.pool.testOnBorrow}"/>
    <property name="testOnReturn" value="${redis.pool.testOnReturn}"/>
  </bean>

  <bean id="connectionFactory"
    class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
    <property name="poolConfig" ref="jedisPoolConfig"/>
    <property name="port" value="${redis.port}"/>
    <property name="hostName" value="${redis.host}"/>
    <property name="password" value="${redis.password}"/>
    <property name="database" value="${redis.database}"/>
  </bean>


  <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
    <property name="connectionFactory" ref="connectionFactory"/>
    <property name="keySerializer">
      <bean class="org.springframework.data.redis.serializer.StringRedisSerializer"/>
    </property>
    <property name="valueSerializer">
      <bean class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer"/>
    </property>
    <property name="hashKeySerializer">
      <bean class="org.springframework.data.redis.serializer.StringRedisSerializer"/>
    </property>
    <property name="hashValueSerializer">
      <bean class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer"/>
    </property>
  </bean>


  <bean id="stringRedisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
    <property name="connectionFactory" ref="connectionFactory"/>
  </bean>

  <bean id="redisHelper" class="com.zebrafutures.commons.redis.RedisHelper">
    <property name="redisTemplate" ref="redisTemplate"/>
    <property name="stringRedisTemplate" ref="stringRedisTemplate"/>
  </bean>
</beans>






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值