###maven项目间关系,又一种情况。两个项目(其中一个是jar格式)可以看作一个项目共用一个 Spring容器。

来源:互联网 发布:淘宝如何删差评 编辑:程序博客网 时间:2024/05/16 05:40

==============

打war包后,e3-jedis作为e3-content-service的一个jar包而已。===两个项目可看做一个项目。

==================实例:

@Repositorypublic 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项目的一个模块。@AutowiredJedisCluster jedisCluster;@Overridepublic String set(String key, String value) {return jedisCluster.set(key, value);}@Overridepublic String get(String key) {// TODO Auto-generated method stubreturn jedisCluster.get(key);}@Overridepublic long incr(String key) {// TODO Auto-generated method stubreturn jedisCluster.incr(key);}@Overridepublic long decr(String key) {// TODO Auto-generated method stubreturn jedisCluster.decr(key);}@Overridepublic long hset(String key, String field, String value) {// TODO Auto-generated method stubreturn jedisCluster.hset(key, field, value);}@Overridepublic String hget(String key, String field) {// TODO Auto-generated method stubreturn jedisCluster.hget(key, field);}@Overridepublic long hdel(String key, String field) {// TODO Auto-generated method stubreturn jedisCluster.hdel(key, field);}@Overridepublic long expire(String key, int seconds) {// TODO Auto-generated method stubreturn 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.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsdhttp://code.alibabatech.com/schema/dubbohttp://code.alibabatech.com/schema/dubbo/dubbo.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc-4.0.xsdhttp://www.springframework.org/schema/utilhttp://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>