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

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