`

Maven+spring+ibatis+struts2.0+MQ+Memcached 项目构建

 
阅读更多
1>Maven一些基本命令:
打包到eclipse中的命令:mvn eclipse:eclipse
打包到eclipse中的命令:mvn eclipse:clean eclipse:eclipse

2:建立环境变量:在path 目录下建立:
D:\apache-maven-3.0.3\bin
到你新建的文件夹下。
例如:你新建了一个文件夹:F:\WorkSpace\
CMD进入:
mvn archetype:create -DgroupId=com.xiu.TestSSI -DartifactId=TestSSI-2.0 -Dversion=1.0
cd TestSSI-2.0 进入主目录然后分别建立目录
mvn archetype:create -DgroupId=com.xiu.TestSSI.api -DartifactId=TestSSI-api -Dversion=1.0
mvn archetype:create -DgroupId=com.xiu.TestSSI.web -DartifactId=TestSSI-web -Dversion=1.0 -DarchetypeArtifactId=maven-archetype-webapp
mvn archetype:create -DgroupId=com.xiu.TestSSI.util -DartifactId=TestSSI-util -Dversion=1.0
mvn archetype:create -DgroupId=com.xiu.TestSSI.model -DartifactId=TestSSI-model -Dversion=1.0
mvn archetype:create -DgroupId=com.xiu.TestSSI.persist -DartifactId=TestSSI-persist -Dversion=1.0
mvn archetype:create -DgroupId=com.xiu.TestSSI.core  -DartifactId=TestSSI-core -Dversion=1.0

3:mvn eclipse:eclipse
要以导入ecliesp
4:依赖关系 :
    <dependency>
  <groupId>com.xiu.channel.core</groupId>
  <artifactId>channel-core</artifactId>
  <version>1.0</version>
    </dependency>
   <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.5.6</version>
</dependency>
  
一般来讲,web 依赖 core model util
core 依赖于model util ,pereist

5:一般来讲web 下的resoures文件用来放配置文件

SSI常用的经常出问题的地方:

A:使用Hassion

1:spring里面配置:
<bean id="inventoryService"
class="org.springframework.remoting.caucho.HessianProxyFactoryBean">
<property name="serviceUrl">
<value>${tm.channel}/inventoryservice</value>
</property>
<property name="serviceInterface">
<value>com.xiu.channel.inventory.api.InventoryService</value>
</property>
</bean>
2:
OrderEntryService orderEntryService = null;
try {
String url = "http://localhost:8080/trade/remote/OrderEntryService";
HessianProxyFactory factory = new HessianProxyFactory();
orderEntryService = (OrderEntryService) factory.create(OrderEntryService.class, url);
List<BizOrderDO> bizOrderDOList = new ArrayList<BizOrderDO>();
BizOrderDO order = new BizOrderDO();
orderEntryService.方法(order转值进来);

3;上面的要启动TOMCAT
不用启用TOMCAT情况:
package com.xiu.tradecenter.core;

import java.beans.PropertyDescriptor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;

import org.apache.commons.beanutils.PropertyUtils;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.springframework.context.support.FileSystemXmlApplicationContext;

public abstract class BaseTest {

private static String[] configs = new String[] {
"/../trade-biz-web/src/main/webconfig/spring-tc-dao.xml",
"/../trade-biz-web/target/trade/WEB-INF/spring-tc-jdbc.xml",
// "/../tc-server/target/tradecenter/WEB-INF/spring-tc-service.xml"
};

protected static FileSystemXmlApplicationContext appContext;

@BeforeClass
public static void setUp() throws Exception {
try {
long start = System.currentTimeMillis();
System.out.println("正在加载配置文件...");
appContext = new FileSystemXmlApplicationContext(configs);
System.out.println("配置文件加载完毕,耗时:"
+ (System.currentTimeMillis() - start));
} catch (Exception e) {
e.printStackTrace();
}
}

protected boolean setProtected() {
return false;
}

@Before
public void autoSetBean() {
// 自动注入Spring管理的Bean,不用每个测试类都去获取。
PropertyDescriptor[] propertyDescriptors = PropertyUtils
.getPropertyDescriptors(this.getClass());

for (PropertyDescriptor propertyDescriptor : propertyDescriptors) {
String propertyName = propertyDescriptor.getName();
Class<?> propertyType = propertyDescriptor.getPropertyType();
Method propertySetter = propertyDescriptor.getWriteMethod();

if (propertySetter == null) {
continue;
}
Object value;
try {
value = appContext.getBean(propertyName);

if (value == null) {
continue;
}

if (!propertyType.isInstance(value)) {
continue;
}
} catch (Exception e) {
continue;
}
try {
propertySetter.invoke(this, new Object[] { value });
} catch (Exception e) {
}
}
if (setProtected()) {

Class<?> clazz = getClass();

do {
Field[] fields = clazz.getDeclaredFields();

for (int i = 0; i < fields.length; i++) {
Field field = fields[i];
field.setAccessible(true);
if (!Modifier.isStatic(field.getModifiers())
&& Modifier.isProtected(field.getModifiers())) {
Object oldValue = null;
;
try {
oldValue = field.get(this);
} catch (IllegalArgumentException e1) {
} catch (IllegalAccessException e1) {
}
if (oldValue == null) {
Object bean = appContext.getBean(field.getName());
field.setAccessible(true);
try {
field.set(this, bean);
} catch (IllegalArgumentException e) {
} catch (IllegalAccessException e) {
}
} else {
}
}
}
clazz = clazz.getSuperclass();
} while (!clazz.equals(BaseTest.class));
}
}

@AfterClass
public static void tearDown() throws Exception {
if (appContext != null) {
appContext.destroy();
}
}
}

然后调用

public class DrawApplyBOTest extends BaseTest {

private DrawApplyWriterService drawApplyWriterService;
public void setDrawApplyWriterService(
DrawApplyWriterService drawApplyWriterService) {
this.drawApplyWriterService = drawApplyWriterService;
}

@Test
public void insertDrawApplyTest() throws DAOException {
DrawApplyDO drawApplyDO=new DrawApplyDO();
//drawApplyDO.setAccountTotal(300);
//drawApplyDO.setApplyAmount(200);
。。。。。。。

Result result=drawApplyWriterService.insertDrawApply(drawApplyDO);
System.out.println("i="+result.isSuccess());
}


MQ:
配置文件:

<beans 
xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> 
<!-- 配置JMS连接工厂 --> 
<bean id="connectionFactory" class="org.apache.activemq.spring.ActiveMQConnectionFactory"> 
<property name="brokerURL" value="tcp://192.168.80.82:61616"/> 
</bean> 
<!-- 配置JMS模版 --> 
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> 
<property name="connectionFactory" ref="connectionFactory"/> 
</bean> 
<!-- 发送消息的目的地(一个队列) --> 
<bean id="destination" class="org.apache.activemq.command.ActiveMQQueue"> 
<!-- 设置消息队列的名字 --> 
<constructor-arg index="0" value="HelloWorldQueue"/> 
</bean>  
</beans> 

package com.xiu.TestGoodsCenter.core;

import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.Session;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.jms.core.MessageCreator;
发送消息
public class MySender {

/**
* @param args
*/

// TODO Auto-generated method stub
public static void main(String[] args) {
ApplicationContext ctx = new ClassPathXmlApplicationContext(
"/applicationContext-test.xml");
JmsTemplate template = (JmsTemplate) ctx.getBean("jmsTemplate");
Destination destination = (Destination) ctx.getBean("destination");

template.send(destination, new MessageCreator() {
public Message createMessage(Session session) throws JMSException {
return session
.createTextMessage("发送消息:Hello ActiveMQ Text Message!");
}
});
System.out.println("成功发送了一条JMS消息");
}

}


接收消息:

package com.xiu.TestGoodsCenter.core;

import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.TextMessage;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jms.core.JmsTemplate;

/**
* 12.* 消息接收者 13.* 14.* @author jeff 15.
*/
public class MyReceiver {
public static void main(String[] args) throws JMSException {
ApplicationContext ctx = new ClassPathXmlApplicationContext(
"/applicationContext-test.xml");
JmsTemplate template = (JmsTemplate) ctx.getBean("jmsTemplate");
Destination destination = (Destination) ctx.getBean("destination");
while (true) {
TextMessage txtmsg = (TextMessage) template.receive(destination);
if (null != txtmsg)
System.out.println("收到消息内容为: " + txtmsg.getText());
else
break;
}
}
}


Memcached

1>在解压后的目录下,应存在一个memcached.exe文件,在命令执行安装命令,将其以系
统服务的形式安装,如图4.58所示。
cmd 进入目录然后执行命令:memcached.exe -d install
安装完毕后,在服务管理中即看到,MM已被安装为系统服务

2>安装完毕后,在服务管理中即看到,MM已被安装为系统服务,在系统服务里面启动服务

3>通过telnet连接MM启动后默认的端口11211 例:假如你的IP是:192.168.1.11 telnet 192.168.1.11 11211 连接服务器
通过telnet即可测试,例如,向MM中保存
key为netjava的值v2,保存时间是永不过期,然后再从MM中取出key为netjava的值,命令
执行格式如下:
set javanet 0 0 2
wq
STORED
get javanet
VALUE javanet 0 2
wq
END
[color=red][/color]

MM中数据的存储和更新操作是以如下文本格式的协议规定的命令。
<command name> <key> <flags> <exptime> <bytes> \r\n
<data-block>
向MM中存取数据的常用命令和参数说明如下。
 <command name>为set,表示向MM中存入一条记录。
 key表示这条记录的键值。
 flags是一个十进制的int,表示存储记录时的客户端标志,在记录取出时会返回。
 exptim表示数据的过期时间,0表示永不过期,其他数值则表示有效的毫秒数,在过
期时间之后,客户端将取不到这条记录,MM中的过期记录会被清空或删除。
 bytes表示这条命令要保存的数据字节的长度,回车后即可输入要保存的数据。
<data-block>即要保存的数据,其长度必须和bytes值对应

Replace命令:用以替换MM中某key对应的值。
Delete命令:用以从MM中删除一条记录,

想知道当前MM服务器的状态相关数据,请输入stats命令
显示当前MM服务器中的读取字节数、缓存命中率、空间大小等

  • 大小: 11.5 KB
分享到:
评论

相关推荐

    Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境

    Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境

    Maven+spring+ struts2+ Ibatis+mysql整合增删改查

    "Maven+Spring+Struts2+Ibatis+MySQL"就是一个常见的企业级Java Web开发组合,它们各自扮演着不同的角色,共同构建了一个功能强大的应用程序。下面我们将详细探讨这些技术及其在整合中的作用。 **Maven** Maven是...

    maven+springmvc+spring+ibatis+velocity+mysql

    在构建企业级Web应用时,"maven+springmvc+spring+ibatis+velocity+mysql"这个组合提供了高效且灵活的开发框架。让我们逐一解析这些技术及其在项目中的作用。 **Maven** 是一个项目管理和综合工具,它帮助开发者...

    maven搭建SpringMVC+spring+ibatis

    在IT行业中,构建高效、可扩展的Web应用是至关重要的,而"Maven搭建SpringMVC+Spring+Ibatis"的组合则提供了一种强大的解决方案。本文将深入探讨这些技术及其集成,帮助你理解和掌握如何利用它们来构建现代化的Java ...

    maven+struts2+spring+mybatis+springMVC

    本项目"maven+struts2+spring+mybatis+springMVC"就是一个典型的Java Web应用开发组合,利用了这些框架的优势进行集成,实现了数据持久化、业务逻辑处理、视图展示以及依赖管理等多个层面的功能。 首先,我们来详细...

    使用Eclipse+Maven+Spring+CXF构建的WebService服务

    Web项目中基于Maven与Spring整合的WebService之cxf的实现⬇️ 详情请参考如下链接: https://locqi.github.io/locqi.com/2018/09/05/Eclipse+Maven+Spring+CXF-create-WebService/

    Struts2+maven+spring+mybatis整合实现注册功能实例

    Struts2、Maven、Spring和MyBatis是Java Web开发中的四大框架,它们的整合应用可以构建出高效、模块化的应用程序。这个实例是关于如何将这些技术融合在一起,实现一个用户注册的功能。 首先,Struts2是一个基于MVC...

    maven3+struts2+spring+ibatis

    maven3+struts2+spring+ibatis,本来是用maven3+struts2+spring+hibernate但考虑到hibernate在多表级联查询的时候执行效率不高,所以改用性能更好不过sql比较麻烦的的ibatis,本项目只有登录和插入数据,仅供参考: ...

    maven+spring+jdbc+mvc项目整合

    【标题】"maven+spring+jdbc+mvc项目整合"是一个综合性的开发教程,它将四个关键的技术元素——Maven、Spring、JDBC和Model-View-Controller(MVC)框架融合在一个项目中,旨在帮助开发者理解如何在实际开发环境中...

    Spring+Maven+freemarker+Ibatis项目

    1. 使用Maven构建项目,并在pom.xml中引入相应的依赖,如Spring、Freemarker、Ibatis的库。 2. 配置Spring,创建ApplicationContext.xml,定义Bean,包括数据源、SqlSessionFactory、Mapper接口等。 3. 集成Ibatis,...

    s2sh代码-maven+spring4+hibernate4+struts2-登录注册小demo

    s2sh代码-maven+spring4+hibernate4+struts2-登录注册的小demo(只是给讲了下如何使用该框架),参考博客:http://blog.csdn.net/lxfHaHaHa/article/details/79366330

    maven+springmvc+spring+mybatis

    【标题】"maven+springmvc+spring+mybatis"是一个经典的Java Web开发技术栈,它结合了四个关键组件:Maven(项目管理工具),Spring MVC(MVC框架),Spring(核心框架)以及MyBatis(持久层框架)。这个组合在企业...

    maven+spring+springMVC+mybatis

    maven+spring+springMVC+mybatis 框架搭建 ...Maven+spring+springMVC+mybatis 框架的整合提供了一个完整的 Web 应用程序开发解决方案,涵盖了项目管理、框架选择、数据库持久层、前台应用程序开发等多个方面。

    maven+spring MVC+Mybatis+jetty+mysql

    "maven+spring MVC+Mybatis+jetty+mysql" 的组合是常见的开发栈,它涵盖了项目管理、前端控制器、持久层操作、应用服务器以及数据库管理等多个层面。下面将详细介绍这些关键技术及其在实际应用中的作用。 1. Maven...

    struts2+spring+mybatis+easyui的实现

    总的来说,"struts2+spring+mybatis+easyui"的实现是一个标准的Java Web项目结构,它利用Maven进行构建管理,通过整合四个组件,实现了后端的业务逻辑处理、数据访问和前端的用户界面展示。这种架构在实际开发中具有...

    Maven+spring+springMVC+mybatis 项目简单例子

    在IT行业中,构建Java Web应用程序是一项常见的任务,而"Maven+spring+springMVC+mybatis"是一个经典的组合,它们各自扮演着不同的角色,共同构建出高效、灵活的应用框架。让我们详细了解一下这些技术及其在项目中的...

    基于maven+spring+spring mvc+mybatis 框架web项目

    在IT行业中,构建Web应用程序是一项常见的任务,而“基于maven+spring+spring mvc+mybatis框架web项目”提供了一个适用于初学者的学习路径。这个项目利用了四个关键的技术组件,它们分别是Maven、Spring、Spring MVC...

    零配置Maven+Spring MVC4.2.4+Hibernate5.2.10

    零配置Maven+Spring MVC4.2.4+Hibernate5.2.10 零配置Maven+Spring MVC4.2.4+Hibernate5.2.10 零配置Maven+Spring MVC4.2.4+Hibernate5.2.10 零配置Maven+Spring MVC4.2.4+Hibernate5.2.10

    maven+springmvc+redis+mybatis整合

    本项目以“maven+springmvc+redis+mybatis整合”为主题,旨在提供一个基于这些技术的集成框架,特别强调了利用Redis作为缓存来提升应用性能。下面将详细阐述这个框架中的各个组成部分以及它们之间的协作。 首先,...

Global site tag (gtag.js) - Google Analytics