###maven项目间关系,又一种情况。两个项目(其中一个是jar格式)可以看作一个项目共用一个 Spring容器。
2017-12-12 21:04
405 查看
==============
打war包后,e3-jedis作为e3-content-service的一个jar包而已。===两个项目可看做一个项目。
==================实例:
@Repository
public class JedisDaoImpl implements JedisDao {
//=======这里项目e3-jedis(jar)为什么可以依赖 另一个项目 e3-service(war)里Spring容器对象???
//======理解:
//===【jedisCluster对象 是service模块里Spring容器创建的,
//但是 在新的mavenProject:e3-jedis里也能注入另一个项目的Spring容器对象??】
//====【不是,这里 e3-jedis虽然是个maven项目,但是pom.xml添加了Spring依赖。
//而e3-service添加了e3-jedis项目的依赖(e3-jedis是jar包格式项目)】,为了依赖传递使用e3-jedis里的很多依赖。
//=====结论:e3-service和e3-jedis 虽然不是一个项目,但是因为 :
//======【service添加了Jedis项目作为依赖。两个项目编译后作为一个项目】,e3-jedis作为service项目的一个jar包。
//===【所以两个项目可以看作一个项目。当然可以互相 依赖同一Spring容器内的对象。】
//====收获:maven项目间添加依赖。===jar形式maven项目 等效于jar格式的 maven model,作为其他war项目的一个模块。
@Autowired
JedisCluster jedisCluster;
@Override
public String set(String key, String value) {
return jedisCluster.set(key, value);
}
@Override
public String get(String key) {
// TODO Auto-generated method stub
return jedisCluster.get(key);
}
@Override
public long incr(String key) {
// TODO Auto-generated method stub
return jedisCluster.incr(key);
}
@Override
public long decr(String key) {
// TODO Auto-generated method stub
return jedisCluster.decr(key);
}
@Override
public long hset(String key, String field, String value) {
// TODO Auto-generated method stub
return jedisCluster.hset(key, field, value);
}
@Override
public String hget(String key, String field) {
// TODO Auto-generated method stub
return jedisCluster.hget(key, field);
}
@Override
public long hdel(String key, String field) {
// TODO Auto-generated method stub
return jedisCluster.hdel(key, field);
}
@Override
public long expire(String key, int seconds) {
// TODO Auto-generated method stub
return jedisCluster.expire(key, seconds);
}
}
==============jedis.xml在service项目中:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
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-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">
<!-- ====######==根据redis集群操作 Java代码,写配置===== -->
<!-- redis连接池 -->
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxTotal" value="2000"></property>
<property name="maxIdle" value="20"></property>
</bean>
<!-- 创建集群对象 -->
<bean class="redis.clients.jedis.JedisCluster">
<constructor-arg name="nodes">
<set>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.108.128"></constructor-arg>
<constructor-arg name="port" value="7001"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.108.128"></constructor-arg>
<constructor-arg name="port" value="7002"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.108.128"></constructor-arg>
<constructor-arg name="port" value="7003"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.108.128"></constructor-arg>
<constructor-arg name="port" value="7004"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.108.128"></constructor-arg>
<constructor-arg name="port" value="7005"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.108.128"></constructor-arg>
<constructor-arg name="port" value="7006"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.108.128"></constructor-arg>
<constructor-arg name="port" value="7007"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.108.128"></constructor-arg>
<constructor-arg name="port" value="7008"></constructor-arg>
</bean>
</set>
</constructor-arg>
<constructor-arg name="poolConfig" ref="poolConfig"></constructor-arg>
</bean>
</beans>
=====e3-servcie 依赖e3-jedis:pom.xml如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>
<parent>
<groupId>cn.e3mall</groupId>
<artifactId>e3-content</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>e3-content-service</artifactId>
<packaging>war</packaging>
<!--
广告服务:
1,spring
2,dubbo,zookeepr
3,dao
4,广告接口
-->
<dependencies>
<dependency>
<groupId>cn.e3mall</groupId>
<artifactId>e3-manager-dao</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>cn.e3mall</groupId>
<artifactId>e3-content-interface</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!-- ===【使用依赖传递,Spring等所有依赖 剪切到 e3-jedis 项目,这里依赖e3-jedis,一样的】=== -->
<dependency>
<groupId>cn.e3mall</groupId>
<artifactId>e3-jedis</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
打war包后,e3-jedis作为e3-content-service的一个jar包而已。===两个项目可看做一个项目。
==================实例:
@Repository
public class JedisDaoImpl implements JedisDao {
//=======这里项目e3-jedis(jar)为什么可以依赖 另一个项目 e3-service(war)里Spring容器对象???
//======理解:
//===【jedisCluster对象 是service模块里Spring容器创建的,
//但是 在新的mavenProject:e3-jedis里也能注入另一个项目的Spring容器对象??】
//====【不是,这里 e3-jedis虽然是个maven项目,但是pom.xml添加了Spring依赖。
//而e3-service添加了e3-jedis项目的依赖(e3-jedis是jar包格式项目)】,为了依赖传递使用e3-jedis里的很多依赖。
//=====结论:e3-service和e3-jedis 虽然不是一个项目,但是因为 :
//======【service添加了Jedis项目作为依赖。两个项目编译后作为一个项目】,e3-jedis作为service项目的一个jar包。
//===【所以两个项目可以看作一个项目。当然可以互相 依赖同一Spring容器内的对象。】
//====收获:maven项目间添加依赖。===jar形式maven项目 等效于jar格式的 maven model,作为其他war项目的一个模块。
@Autowired
JedisCluster jedisCluster;
@Override
public String set(String key, String value) {
return jedisCluster.set(key, value);
}
@Override
public String get(String key) {
// TODO Auto-generated method stub
return jedisCluster.get(key);
}
@Override
public long incr(String key) {
// TODO Auto-generated method stub
return jedisCluster.incr(key);
}
@Override
public long decr(String key) {
// TODO Auto-generated method stub
return jedisCluster.decr(key);
}
@Override
public long hset(String key, String field, String value) {
// TODO Auto-generated method stub
return jedisCluster.hset(key, field, value);
}
@Override
public String hget(String key, String field) {
// TODO Auto-generated method stub
return jedisCluster.hget(key, field);
}
@Override
public long hdel(String key, String field) {
// TODO Auto-generated method stub
return jedisCluster.hdel(key, field);
}
@Override
public long expire(String key, int seconds) {
// TODO Auto-generated method stub
return jedisCluster.expire(key, seconds);
}
}
==============jedis.xml在service项目中:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
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-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">
<!-- ====######==根据redis集群操作 Java代码,写配置===== -->
<!-- redis连接池 -->
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxTotal" value="2000"></property>
<property name="maxIdle" value="20"></property>
</bean>
<!-- 创建集群对象 -->
<bean class="redis.clients.jedis.JedisCluster">
<constructor-arg name="nodes">
<set>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.108.128"></constructor-arg>
<constructor-arg name="port" value="7001"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.108.128"></constructor-arg>
<constructor-arg name="port" value="7002"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.108.128"></constructor-arg>
<constructor-arg name="port" value="7003"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.108.128"></constructor-arg>
<constructor-arg name="port" value="7004"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.108.128"></constructor-arg>
<constructor-arg name="port" value="7005"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.108.128"></constructor-arg>
<constructor-arg name="port" value="7006"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.108.128"></constructor-arg>
<constructor-arg name="port" value="7007"></constructor-arg>
</bean>
<bean class="redis.clients.jedis.HostAndPort">
<constructor-arg name="host" value="192.168.108.128"></constructor-arg>
<constructor-arg name="port" value="7008"></constructor-arg>
</bean>
</set>
</constructor-arg>
<constructor-arg name="poolConfig" ref="poolConfig"></constructor-arg>
</bean>
</beans>
=====e3-servcie 依赖e3-jedis:pom.xml如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>
<parent>
<groupId>cn.e3mall</groupId>
<artifactId>e3-content</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>e3-content-service</artifactId>
<packaging>war</packaging>
<!--
广告服务:
1,spring
2,dubbo,zookeepr
3,dao
4,广告接口
-->
<dependencies>
<dependency>
<groupId>cn.e3mall</groupId>
<artifactId>e3-manager-dao</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>cn.e3mall</groupId>
<artifactId>e3-content-interface</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!-- ===【使用依赖传递,Spring等所有依赖 剪切到 e3-jedis 项目,这里依赖e3-jedis,一样的】=== -->
<dependency>
<groupId>cn.e3mall</groupId>
<artifactId>e3-jedis</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
相关文章推荐
- spring初始化2次的一种情况:同一个项目在tomcat目录的webapps下保留了2份,例如其中一份作为备份。
- Eclipse中项目两次加载 or Eclipse下Servers中一个项目下有两个甚至多个spring-web的jar
- 两个选择其中一个既可以在新窗口打开项目了
- 用maven+springMVC创建一个项目 【转】
- maven项目,多个依赖,打成一个可执行jar包,可根据profiles进行打包,出现的Could not find or load main class的解决方法。
- 解决 Maven 项目中找不到 jdk 的 tools.jar 文件的办法(多数情况下适用)
- 如何在springboot项目中直接导入本地jar文件而不是远程maven仓库的依赖
- 基于spring的maven项目如何打可独立执行的jar包
- 如何让一个简单的maven项目支持one-jar 做成一个jar fatjar
- 输入两个数,并显示他们,但拒绝接受两个数都大于10的情况,且要求用户从新输入.看看其中的一个(但不是两个)是否大于10.
- 《Lucene、webservice、(svn_ant_maven)、DWR、Freemarker、POI视频教程》更新了Spring、JAXWs的整合并且完成了一个小项目
- maven web 项目 没有spring-web.jar的问题解决方法
- maven项目,去除jar包中的不想要的依赖关系
- maven项目,去除jar包中的不想要的依赖关系
- 同个Tomcat下部署两个项目,一个可以另一个不可以,出现404
- 用maven建立spring项目的导入spring的jar包的pom
- 一个tomcat7容器部署两个不同的项目,一个用域名,另一个用域名加端口,server.xml的配置记录
- Eclipse上创建一个Maven+Spring MVC的HelloWord项目2:发布项目
- 两个或多个域名共用一个空间并可以独立访问的方法
- Intellij IDEA采用Maven+Spring MVC+Hibernate的架构搭建一个java web项目