28. 代码实例-spring组件配置化-使用注解
2013-11-08 16:46
841 查看
spring的核心思想就是程序整体松耦合的组件化,每个组件可以通过修改配置来改变参数,适合做配置参数的是指在程序运行中不随意改变的参数,改变后一般需要重启程序(如线程数)。一般通过xml,在使用注解时,想要通过修改配置来改变参数,就需要利用配置文件。
(1)spring配置
2)属性配置
important.properties
##lock
addConsumeLock.maxLockSize=2
addConsumeLock.getSize=4
pastConsumeLock.maxLockSize=2
pastConsumeLock.getSize=4
gradeLock.maxLockSize=2
gradeLock.getSize=4
##thread
addConsumeJob.threadSize=2
pastConsumeJob.threadSize=1
gradeJob.threadSize=2
(3)代码中
(1)spring配置
<?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> <value>classpath:important2.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-db-mysql.xml" /> <import resource="classpath:spring/spring-config-db-mysql1.xml" /> <import resource="classpath:spring/spring-config-db-mysql2.xml" /> <import resource="classpath:spring/spring-config-db-mysql3.xml" /> <import resource="classpath:spring/spring-config-db-mysql4.xml" /> </beans>
2)属性配置
important.properties
##lock
addConsumeLock.maxLockSize=2
addConsumeLock.getSize=4
pastConsumeLock.maxLockSize=2
pastConsumeLock.getSize=4
gradeLock.maxLockSize=2
gradeLock.getSize=4
##thread
addConsumeJob.threadSize=2
pastConsumeJob.threadSize=1
gradeJob.threadSize=2
(3)代码中
package com.jd.consume.service.lock.impl; import java.util.List; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import com.jd.consume.domain.OrderTask; /** * 加消费额度锁定 * @author guanpanpan * */ @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(int dbNo,long id) { return orderTaskDaoMysql.updateStatus(dbNo,id, OrderTask.SYN_LOCK, OrderTask.SYN_WAIT) == 1; } @Override public int unLock(int dbNo,long id) { return orderTaskDaoMysql.updateStatus(dbNo,id, OrderTask.SYN_WAIT, OrderTask.SYN_LOCK); } @Override public List<OrderTask> getData(int dbNo) { List<OrderTask> orderTasks = orderTaskDaoMysql.findOrderTasksByConsumeStatus(dbNo,OrderTask.SYN_WAIT, getSize, false); return orderTasks; } @Override public int unLockAll(int dbNo) { return orderTaskDaoMysql.updateStatus(dbNo,OrderTask.SYN_WAIT, OrderTask.SYN_LOCK); } }
相关文章推荐
- 使用spring jdbc template简化jdbc数据库操作实例代码
- 【j2ee spring】28、巴巴运动网-整合hibernate4+spring4(3)使用注解
- SpringData JPA @query注解使用原生代码报错问题
- 使用代码向一个普通的类注入Spring的实例
- spring 4.0 AOP (使用AspectJ的注解方式 的aop实现)简单实例
- Vue组件中prop属性使用说明实例代码详解
- Spring 使用注解注入,调用类实例出现 java.lang.NullPointException 问题的解决方法
- Spring2.5中使用注解装配属性and组件自动扫描
- spring 框架中的依赖注入(IOC--设值注入)--使用注解--的具体实例的简单实现
- spring + ehcache 注解使用实例
- Spring boot 发送http请求组件RestTemplate使用实例
- spring使用注解让bean创建多个实例
- spring 4.0 AOP (使用AspectJ的注解方式 的aop实现)简单实例
- Java之Spring注解配置bean实例代码解析
- SpringBoot系列三:SpringBoot基本概念(统一父 pom 管理、SpringBoot 代码测试、启动注解分析、配置访问路径、使用内置对象、项目打包发布)
- Spring学习笔记1之IOC详解尽量使用注解以及java代码
- spring-02 spring的bean管理(使用注解方式创建对象 附代码)
- Spring+SpringMVC+mybatis+easyui整合实例(二)注解方式的mybatis的使用
- DWR高级主题之DWR与spring集成(使用springMVC,并使用注解的实例)
- Spring中使用@Autowired注解静态实例对象