您的位置:首页 > 编程语言 > Java开发

28. 代码实例-spring组件配置化-使用注解

2013-11-08 16:46 841 查看
spring的核心思想就是程序整体松耦合的组件化,每个组件可以通过修改配置来改变参数,适合做配置参数的是指在程序运行中不随意改变的参数,改变后一般需要重启程序(如线程数)。一般通过xml,在使用注解时,想要通过修改配置来改变参数,就需要利用配置文件。

(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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: