tnblog
首页
视频
资源
登录

dubbo快速入门-spring和springmvc整合 02

3391人阅读 2022/8/22 1:14 总访问:1590396 评论:0 收藏:0 手机
分类: Dubbo

一、

案例、
1、创建空项目

给项目设置jdk

创建完后的样子

2、设置Maven

3、创建模块
3.1、创建bubbo-service模块

模块的位置:选到空项目的位置以后加上 ”\模块名称“就是模块的位置

3.2、创建bubbo-web模块,和上面一样。
将来用web模块依赖于service模块。

两个模块创建完后的样子

4、导入坐标
4.1、dubbo-service模块的坐标

  1. <properties>
  2.     <spring.version>5.1.9.RELEASE</spring.version>
  3.     <dubbo.version>2.7.4.1</dubbo.version>
  4.    <zookeeper.version>4.0.0</zookeeper.version>
  5. </properties>
  6. <dependencies>
  7.     <!--    servlet规范-->
  8.     <dependency>
  9.         <groupId>javax.servlet</groupId>
  10.         <artifactId>javax.servlet-api</artifactId>
  11.         <version>3.1.0</version>
  12.         <scope>provided</scope>
  13.     </dependency>
  14.     <!--        spring-->
  15.     <dependency>
  16.         <groupId>org.springframework</groupId>
  17.         <artifactId>spring-context</artifactId>
  18.         <version>${spring.version}</version>
  19.     </dependency>
  20.     <!--springMVC-->
  21.     <dependency>
  22.         <groupId>org.springframework</groupId>
  23.         <artifactId>spring-webmvc</artifactId>
  24.         <version>${spring.version}</version>
  25.     </dependency>
  26.     <!-- 日志-->
  27.     <dependency>
  28.         <groupId>org.slf4j</groupId>
  29.         <artifactId>slf4j-api</artifactId>
  30.         <version>1.7.21</version>
  31.     </dependency>
  32.     <dependency>
  33.         <groupId>org.slf4j</groupId>
  34.         <artifactId>slf4j-log4j12</artifactId>
  35.         <version>1.7.21</version>
  36.     </dependency>
  37.     <!--Dubbo的起步依赖,版本2.7之后统一为rg.apache .dubb -->
  38.     <dependency>
  39.         <groupId>org.apache.dubbo</groupId>
  40.         <artifactId>dubbo</artifactId>
  41.         <version>${dubbo.version}</version>
  42.     </dependency>
  43.     <!--        zookeeper客户端实现-->
  44.     <dependency>
  45.         <groupId>org.apache.curator</groupId>
  46.         <artifactId>curator-framework</artifactId>
  47.         <version>${zookeeper.version}</version>
  48.     </dependency>
  49.     <!--        zookeeper客户端实现-->
  50.     <dependency>
  51.         <groupId>org.apache.curator</groupId>
  52.         <artifactId>curator-recipes</artifactId>
  53.         <version>${zookeeper.version}</version>
  54.     </dependency>
  55. </dependencies>

4.2、dubbo-web模块的坐标,注意:因为它是web项目所以最好打war包,还有它依赖于dubbo-service模块

  1. <!--    打war包-->
  2. <packaging>war</packaging>
  3. <!--    版本控制-->
  4. <properties>
  5.     <spring.version>5.1.9.RELEASE</spring.version>
  6.     <dubbo.version>2.7.4.1</dubbo.version>
  7.     <zookeeper.version>4.0.0</zookeeper.version>
  8. </properties>
  9. <dependencies>
  10.     <!--    servlet规范-->
  11.     <dependency>
  12.         <groupId>javax.servlet</groupId>
  13.         <artifactId>javax.servlet-api</artifactId>
  14.         <version>3.1.0</version>
  15.         <scope>provided</scope>
  16.     </dependency>
  17.     <!--        spring-->
  18.     <dependency>
  19.         <groupId>org.springframework</groupId>
  20.         <artifactId>spring-context</artifactId>
  21.         <version>${spring.version}</version>
  22.     </dependency>
  23.     <!--springMVC-->
  24.     <dependency>
  25.         <groupId>org.springframework</groupId>
  26.         <artifactId>spring-webmvc</artifactId>
  27.         <version>${spring.version}</version>
  28.     </dependency>
  29.     <!-- 日志-->
  30.     <dependency>
  31.         <groupId>org.slf4j</groupId>
  32.         <artifactId>slf4j-api</artifactId>
  33.         <version>1.7.21</version>
  34.     </dependency>
  35.     <dependency>
  36.         <groupId>org.slf4j</groupId>
  37.         <artifactId>slf4j-log4j12</artifactId>
  38.         <version>1.7.21</version>
  39.     </dependency>
  40.     <!--Dubbo的起步依赖,版本2.7之后统一为rg.apache .dubb -->
  41.     <dependency>
  42.         <groupId>org.apache.dubbo</groupId>
  43.         <artifactId>dubbo</artifactId>
  44.         <version>${dubbo.version}</version>
  45.     </dependency>
  46.     <!--        zookeeper客户端实现-->
  47.     <dependency>
  48.         <groupId>org.apache.curator</groupId>
  49.         <artifactId>curator-framework</artifactId>
  50.         <version>${zookeeper.version}</version>
  51.     </dependency>
  52.     <!--        zookeeper客户端实现-->
  53.     <dependency>
  54.         <groupId>org.apache.curator</groupId>
  55.         <artifactId>curator-recipes</artifactId>
  56.         <version>${zookeeper.version}</version>
  57.     </dependency>
  58.     <!-- 依赖dubbo-service模块-->
  59.     <dependency>
  60.         <groupId>com.itheima</groupId>
  61.         <artifactId>dubbo-service</artifactId>
  62.         <version>1.0-SNAPSHOT</version>
  63.     </dependency>
  64. </dependencies>
  65. <build>
  66.     <plugins>
  67.         <!--  tomcat7-->
  68.         <plugin>
  69.             <groupId>org.apache.tomcat.maven</groupId>
  70.             <artifactId>tomcat7-maven-plugin</artifactId>
  71.             <version>2.1</version>
  72.             <!--http默认端口改为8000端口-->
  73.             <configuration>
  74.                 <!--修改tomcat启动的端口号-->
  75.                 <port>8000</port>
  76.                 <!--
  77.                 修改tomcat部署当前项目的虚拟目录(项目的访问根路径)
  78.                 这改为 / 就表示你访问localhost/就是你的index页面
  79.                 -->
  80.                 <path>/</path>
  81.             </configuration>
  82.         </plugin>
  83.     </plugins>
  84. </build>

5、dubbo-service模块创建的内容
5.1、红线为新创建的内容

5.2、applicationContext.xml的配置(对spring的配置)

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3.        xmlns:context="http://www.springframework.org/schema/context"
  4.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5.        xsi:schemaLocation="http://www.springframework.org/schema/beans
  6.         http://www.springframework.org/schema/beans/spring-beans.xsd
  7.         http://www.springframework.org/schema/context
  8.         http://www.springframework.org/schema/context/spring-context.xsd">
  9.     <!--  包扫描-->
  10.     <context:component-scan base-package="com.itheima.service"/>
  11. </beans>

5.3、log4j.properties的配置(配置日志)

  1. # 配置根Logger
  2. log4j.rootLogger=info, ServerDailyRollingFile, stdout
  3. # 有关日志输出位置的配置命名
  4. # ServerDailyRollingFile代表每天产生一个日志文件
  5. log4j.appender.ServerDailyRollingFile=org.apache.log4j.DailyRollingFileAppender
  6. # 设置时间格式
  7. log4j.appender.ServerDailyRollingFile.DatePattern='.'yyyy-MM-dd
  8. # 日志文件生成路径
  9. log4j.appender.ServerDailyRollingFile.File=logs/notify-subscription.log
  10. # 日志格式
  11. # PatternLayout可以灵活指定布局模式
  12. log4j.appender.ServerDailyRollingFile.layout=org.apache.log4j.PatternLayout
  13. log4j.appender.ServerDailyRollingFile.layout.ConversionPattern=%d - %m%n
  14. # 将消息增加到指定文件中,false指消息将覆盖指定文件的内容
  15. log4j.appender.ServerDailyRollingFile.Append=true
  16. # 配置输出到控制台
  17. log4j.appender.stdout=org.apache.log4j.ConsoleAppender
  18. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
  19. log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} %p [%c] %m%n

6、对dubbo-web模块的配置
6.1、红线为新创建的内容

6.2、springmvc.xml的配置

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3.        xmlns:context="http://www.springframework.org/schema/context"
  4.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5.        xmlns:mvc="http://www.springframework.org/schema/mvc"
  6.        xsi:schemaLocation="http://www.springframework.org/schema/beans
  7.         http://www.springframework.org/schema/beans/spring-beans.xsd
  8.         http://www.springframework.org/schema/context
  9.         http://www.springframework.org/schema/context/spring-context.xsd
  10.         http://www.springframework.org/schema/mvc
  11.         http://www.springframework.org/schema/mvc/spring-mvc.xsd">
  12.     <!--    扫描sprig的bean-->
  13.     <context:component-scan base-package="com.itheima.controller"/>
  14.     <!--    mvc驱动-->
  15.     <mvc:annotation-driven/>
  16. </beans>

6.3、log4j.properties的配置和上面dubbo-service模块的日志配置一样
6.4、web.xml的配置

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns="http://java.sun.com/xml/ns/javaee"
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
  5.           http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  6.          version="3.0">
  7.     <!--对spring配置的加载-->
  8.     <context-param>
  9.         <param-name>contextConfigLocation</param-name>
  10.         <param-value>classpath*:spring/applicationContext.xml</param-value>
  11.     </context-param>
  12.     <!--启动服务器时,通过监听器加载spring运行环境-->
  13.     <listener>
  14.         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  15.     </listener>
  16.     <!--用于解决中文乱码-->
  17.     <filter>
  18.         <filter-name>CharacterEncodingFilter</filter-name>
  19.         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  20.         <init-param>
  21.             <param-name>encoding</param-name>
  22.             <param-value>UTF-8</param-value>
  23.         </init-param>
  24.     </filter>
  25.     <filter-mapping>
  26.         <filter-name>CharacterEncodingFilter</filter-name>
  27.         <url-pattern>/*</url-pattern>
  28.     </filter-mapping>
  29.     <!--拦截-->
  30.     <servlet>
  31.         <servlet-name>springmvc</servlet-name>
  32.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  33.         <init-param>
  34.             <param-name>contextConfigLocation</param-name>
  35.             <param-value>classpath*:spring/springmvc.xml</param-value>
  36.         </init-param>
  37.     </servlet>
  38.     <!--    <servlet-mapping>-->
  39.     <!--        <servlet-name>DispatcherServlet</servlet-name>-->
  40.     <!--        <url-pattern>/</url-pattern>-->
  41.     <!--    </servlet-mapping>-->
  42.     <servlet-mapping>
  43.         <servlet-name>springmvc</servlet-name>
  44.         <url-pattern>*.do</url-pattern>
  45.     </servlet-mapping>
  46. </web-app>

7、对dubbo-service模块进行install的作用(maven的install可以将项目/模块本身编译并打包到本地仓库

7.1、

对dubbo-service模块执行install命令

8、给dubbo-web模块写启动的命令。和步骤7类似

9、启动dubbo-web模块

启动后的端口

10、测试

评价

dubbo概述 01

一、dubbo概述Dubbo是阿里巴巴公司开源的一个高性能、轻量级的Java RPC框架。致力于提供高性能和透明化的RPC远程服务调用方...

dubbo快速入门-服务提供者服务消费者03

续写于dubbo快速入门-spring和springmvc整合 02一、dubbo-service模块(服务提供者)1、pom.xml文件打war包了可以让该模块...

dubbo高级特性-dubbo-admin安装 01

一、先安装nodejs十分钟掌握Nodejs下载和安装:https://blog.csdn.net/qq_51929833/article/details/123694846二、下载dubbo...

SSM整合-spring整合MyBatis 02

续写于SSM整合-SSM整合流程简介&amp;项目结构搭建 01一、需求目录二、1、pom.xml1.1、先删除某些自动生成的东西,直到变成...

SSM整合-spring整合springmvc 06

1、在web.xml配置spring&lt;?xmlversion=&quot;1.0&quot;encoding=&quot;UTF-8&quot;?&gt; &lt;web-appxmlns=&quot;http...

css图片文字对齐问题

文字和图片写到一排经常会出现对不齐的问题 这样感觉图片会上来一点没有和文字对齐,如下图 但是如果修改下html结...

微信交易单号订单号的区别

一般第三方在线支付系统中都会有两类订单号transactionId 为支付系统的订单号,由支付系统生成,并在回调时传回给商户,用...

C ?、?? 问号2个问号的用法(类型?、对象?)

C# ?C# ???:单问号1.定义数据类型可为空。可用于对int,double,bool等无法直接赋值为null的数据类型进行null的赋值如这...

C out、ref关键字的用法区别

说说自己对out、ref的认识,面试问到的几率很高哟。out:classProgram { /* *out、ref都是引用传递,传递后使用都会改变...

SQL Server的几种分页方式效率

--topnotin方式 selecttop条数*fromtablename whereIdnotin(selecttop条数*页数Idfromtablename) --ROW_NUMBER()O...

Java中的堆栈以及堆栈的区别

在正式内容开始之前要说明一点,我们经常所说的堆栈堆栈是堆和栈统称,堆是堆,栈是栈,合在一起统称堆栈;  1.栈(stack)...

JSON对象JSON字符串的区别

JSON对象是直接可以使用JQuery操作的格式,如C#中可以用对象(类名)点出属性(方法)一样var str2 = { &quot;name&quot;: ...

css中单位pxem,remvh/vw的理解

&gt;px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。em是相对长度单位。相对于当前对象内文本的字...

redis中主从、哨兵集群这三个有什么区别

主从模式:备份数据、负载均衡,一个Master可以有多个Slaves。sentinel(哨兵)发现master挂了后,就会从slave中重新选举一个...

用Linq解决商品其下sku的筛选排序查询

本是sql to linq的东西,但是用的框架是.core 2.1,所以就归到core里吧最近遇到一个稍微复杂点的小问题需求:商城的商品列...
没有个性,不需要签名
排名
4
文章
473
粉丝
3
评论
2
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术