1.配置文件important.properties
##lock
addConsumeLock.maxLockSize=2
addConsumeLock.getSize=4
##thread
addConsumeJob.threadSize=2
##orderTaskRepository
orderTaskRepository.postTableSuffix=2012
2.配置文件
<?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:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-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/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/util classpath:/org/springframework/beans/factory/xml/spring-util-3.0.xsd " default-autowire="byName"> <context:component-scan base-package="com.jd.consume.*" /> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath:important.properties</value> </list> </property> <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"></property> </bean> <bean id="springContextHolder" class="com.jd.consume.web.SpringContextHolder" lazy-init="false" /> <import resource="classpath:spring/spring-config-db-consume.xml" /> <import resource="classpath:spring/spring-config-db-jd2008.xml" /> <import resource="classpath:spring/spring-config-user-rpc.xml" /> <import resource="classpath:spring/spring-config-mail-rpc.xml" /> <import resource="classpath:spring/spring-config-msg-new.xml" /> <import resource="classpath:spring/spring-config-mq.xml" /> </beans>
3.相应代码
package com.jd.consume.domain.lock.impl; import java.util.List; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import com.jd.consume.domain.model.OrderTask; @Service(value = "addConsumeLock") public class AddConsumeLock extends DataLockImpl { @Override @Value("${addConsumeLock.getSize}") public void setGetSize(int getSize) { super.setGetSize(getSize); } @Override @Value("${addConsumeLock.maxLockSize}") public void setMaxLockSize(int maxLockSize) { super.setMaxLockSize(maxLockSize); } @Override public boolean lockSingleData(long id) { return orderTaskRepository.updateCusumeStatus(id, OrderTask.SYN_LOCK, OrderTask.SYN_WAIT) == 1; } @Override public int unLock(long id) { return orderTaskRepository.updateCusumeStatus(id, OrderTask.SYN_WAIT, OrderTask.SYN_LOCK); } @Override public List<OrderTask> getData() { List<OrderTask> orderTasks = orderTaskRepository.findOrderTasksByConsumeStatus(OrderTask.SYN_WAIT, getSize, false); return orderTasks; } }
@Repository(value = "orderTaskRepository") public class OrderTaskRepositorySql implements OrderTaskRepository { @Resource private SqlMapClientTemplate consumeTemplate; @Value(value = "${orderTaskRepository.postTableSuffix}") private String postTableSuffix;
相关推荐
注解配置是Spring框架的一种简化配置手段,它允许开发者通过在类或方法上添加特定的注解,替代传统的XML配置文件,使得代码更加简洁且易于维护。 首先,我们需要理解Spring配置文件的作用。在早期的Spring版本中,...
这个整合包使得在Spring应用中使用MyBatis变得更加简单,无需手动配置SqlSessionFactory或SqlSessionTemplate,而是通过Spring的依赖注入来管理和使用MyBatis的数据访问组件。 1. MyBatis-Spring整合的核心概念: ...
MyBatis-Spring是MyBatis与Spring框架的整合组件,其主要目的是简化在Spring应用中集成MyBatis的过程,使两者能够无缝协作。mybatis-spring-1.3.0.jar是这个中间件的特定版本,包含了实现这种集成所需的所有类和资源...
Mybatis-Spring是一个将流行的Mybatis持久层框架与Spring框架集成的库,它使得在Spring应用中使用...通过阅读这份文档,你可以学习到如何配置、使用和优化Mybatis-Spring的各个组件,提升你的开发效率和代码质量。
通过 @Mapper 注解,可以直接将一个接口声明为 MyBatis 的 Mapper,Spring 会自动创建其实例并注入到其他组件中。 4. **MapperScannerConfigurer**:这个类允许开发者扫描指定包下的 Mapper 接口,自动注册为 ...
- 尽量使用基于注解的配置,以减少 XML 配置文件的数量和复杂度。 - 为每个 Mapper 接口创建一个单独的 XML 映射文件,使代码结构更清晰。 - 利用 Spring 的事务管理,确保数据库操作的原子性和一致性。 7. **...
MyBatis-Spring 整合是为了在Spring框架中无缝地使用MyBatis持久层框架,它简化了在Spring应用中配置MyBatis的过程,并提供了事务管理和依赖注入等功能。这个整合jar包包含了MyBatis和Spring的基本组件,使得开发...
3. MapperFactoryBean:此组件用于将MyBatis的Mapper接口与XML配置文件关联,让Spring能够自动管理和实例化这些接口,从而在Spring环境中使用Mapper接口进行数据库操作。 四、整合步骤 1. 添加依赖:在项目中引入...
- **MapperFactoryBean**:这是一个 Spring Bean 工厂,可以用来创建 MyBatis 的 Mapper 接口实例,Spring 会自动注入对应的 SqlSession,简化了配置。 - **事务管理**:MyBatis-Spring 可以配合 Spring 的事务...
3. MapperFactoryBean:这个类用于在Spring容器中注册MyBatis的Mapper接口,使得我们可以直接通过@Autowired注解来注入Mapper实例,无需手动创建SqlSession和执行SQL。 三、整合步骤 1. 配置数据源:在Spring的配置...
本实例"spring-hibernate注解配置源码"旨在展示如何在不使用XML配置的情况下,通过注解的方式整合Struts2、Spring和Hibernate,创建一个完整的MVC(模型-视图-控制器)架构的应用。下面将详细介绍这个过程中的关键...
7. **注解支持**:除了XML配置,MyBatis-Spring 还支持在Mapper接口上使用注解,进一步简化代码。 8. **自动扫描Mapper**:可以通过配置自动扫描指定包下的Mapper接口,省去逐一注册的麻烦。 在实际开发中,...
SpringCloud作为一套微服务解决方案,提供了丰富的工具集,其中包括Eureka,它是Netflix开发的服务注册与发现组件。本文将深入探讨如何在SpringBoot项目中集成SpringCloud Eureka,实现服务的注册与发现。 首先,...
在“tuling-vip-spring-master.zip”中,我们可以通过配置XML或使用注解的方式来定义对象及其依赖关系。 2. **面向切面编程(AOP)**:AOP允许开发者定义“切面”,这些切面可以包含多个方法,这些方法可以在程序...
在本实例中,我们将深入探讨如何使用XML和注解结合的方式来配置Spring框架。首先,我们先来理解每个文件的作用。 1. **Maven配置文件pom.xml** Maven是一个项目管理工具,通过pom.xml文件来管理项目的构建、依赖和...
总的来说,这个入门实例旨在帮助初学者理解如何在没有使用注解的情况下,通过XML配置文件集成SpringMVC、Spring和Hibernate,完成一个简单的Web应用。虽然现在的最佳实践倾向于使用注解和Spring Boot,但理解非注解...
4. **Bean定义与实例化**:如何通过XML、注解或Java配置来定义Bean,并让Spring容器实例化这些Bean。 5. **依赖注入**:演示如何通过构造器注入、setter注入和接口注入来实现Bean间的依赖关系。 6. **Hello World...
在Spring中集成Quartz,首先需要在Spring的配置文件中声明一个SchedulerFactoryBean,这是Spring对Quartz Scheduler的包装,用于初始化和管理Scheduler实例。接着,你可以定义JobDetail和Trigger,JobDetail定义了...
在Spring框架中,注解是实现依赖注入(Dependency Injection,DI)的一种重要方式,极大地简化了配置文件,提高了代码的可读性和可维护性。本篇文章将深入探讨Spring中的注解,以及如何通过注解进行自动装配。 首先...
3. **注解实例**:通过实例,你可以学习如何使用这些注解来简化代码,比如使用`@RequestMapping`处理不同的URL请求,`@Autowired`自动装配bean,以及`@Service`和`@Component`在组件扫描中的作用。 4. **Spring与...