spring dubbo集成(@autowired和构造器注入)

一:运行spring容器的方式有三种1:使用tomcat、jetty等servlet容器运行2:自己写一个Main方法运行3:使用dubbo框架提供的Main方法运行前面两种有一定的局限性,很多缺点,具体就不一一列举,有兴趣的同学可以研究一下,今天就给大家讲如何实现第三种方式二:Main配置详讲spring路径存放路径 按照dubbo官网解说,要使得Main能正确的启

大家好,又见面了,我是你们的朋友全栈君。

一:运行spring容器的方式有三种

1:使用tomcat、jetty等servlet容器运行

2:自己写一个Main方法运行

3:使用dubbo框架提供的Main方法运行

前面两种有一定的局限性,很多缺点,具体就不一一列举,有兴趣的同学可以研究一下,今天就给大家讲如何实现第三种方式

二:Main配置详讲

优点:由框架本身提供,可实现优雅关机

spring路径存放路径

 
按照dubbo官网解说,要使得Main能正确的启用Spring容器,要求spring配置文件存放至

classpath*:META-INF/spring/*.xml路径底下

dubbo官方网址 http://dubbo.io/User+Guide-zh.htm

项目结构

项目是maven项目,框架是spring+mybatis+dubbo

spring dubbo集成(@autowired和构造器注入)

maven配置

<build> <!--jar包名称--> <finalName>asset-server</finalName> <resources> <!--recources文件夹下的所有文件都打进jar包--> <resource> <targetPath>${project.build.directory}/classes</targetPath> <directory>src/main/resources</directory> <filtering>true</filtering> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> </resource> <!-- 上文有说过,由于我的applicationContext.xml文件不是在META-INF下,这一段代码的作用就是将 applicationContext.xml文件拷贝到META-INF目录下--> <resource> <targetPath>${project.build.directory}/classes/META-INF/spring</targetPath> <directory>src/main/resources/spring</directory> <filtering>true</filtering> <includes> <include>applicationContext.xml</include> </includes> </resource> </resources> <pluginManagement> <plugins> <!-- 解决Maven插件在Eclipse内执行了一系列的生命周期引起冲突 --> <plugin> <groupId>org.eclipse.m2e</groupId> <artifactId>lifecycle-mapping</artifactId> <version>1.0.0</version> <configuration> <lifecycleMappingMetadata> <pluginExecutions> <pluginExecution> <pluginExecutionFilter> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <versionRange>[2.0,)</versionRange> <goals> <goal>copy-dependencies</goal> </goals> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> </configuration> </plugin> </plugins> </pluginManagement> <plugins> <!-- 打包jar文件时,配置manifest文件,加入lib包的jar依赖 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <classesDirectory>target/classes/</classesDirectory> <archive> <manifest> <mainClass>com.alibaba.dubbo.container.Main</mainClass> <!-- 打包时 MANIFEST.MF文件不记录的时间戳版本 --> <useUniqueVersions>false</useUniqueVersions> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> </manifest> <manifestEntries> <Class-Path>.</Class-Path> </manifestEntries> </archive> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <type>jar</type> <includeTypes>jar</includeTypes> <useUniqueVersions>false</useUniqueVersions> <outputDirectory> ${project.build.directory}/lib </outputDirectory> </configuration> </execution> </executions> </plugin> </plugins> </build>

运行测试

1).在c盘新建文件夹asset-service,将lib文件夹,asset-service.jar放置文件夹(打包完成后可能还有其他文件,我们只需要这两个)

spring dubbo集成(@autowired和构造器注入)

2)打开运行窗口,进入asset-service,执行命令 java -jar asset-server.jar &

spring dubbo集成(@autowired和构造器注入)


可以看到dubbo监控中心监测到接口已经正常部署


spring dubbo集成(@autowired和构造器注入)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129759.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oracle 存储过程打印语句,oracle 存储过程语句总结[通俗易懂]

    oracle 存储过程打印语句,oracle 存储过程语句总结[通俗易懂]1、ExitWhen循环:createorreplaceprocedureproc_test_exit_whenisinumber;begini:=0;LOOPExitWhen(i>5);Dbms_Output.put_line(i);i:=i+1;ENDLOOP;endproc_test_exit_when;createorreplaceprocedureproc_te…

    2022年7月17日
    16
  • bm3d matlab,Note — BM3D「建议收藏」

    bm3d matlab,Note — BM3D「建议收藏」一、引言二、理论三、算法一、引言前面一篇说到Non-localmethod[1],可以归类到spatialmethod中,另外用的比较多的还有transformmethod,基于transformmethod的方法在imagedenoise中也取得了很好的效果,不过理论阐述会比较繁琐,如BLS-GSM-Wavelet。NLM去噪算法使用的是inter-patchcorrelation,而Wavel…

    2022年6月6日
    39
  • C++封装、继承、多态

    C++封装、继承、多态C 封装继承多态总结面向对象的三个基本特征面向对象的三个基本特征是 封装 继承 多态 其中 封装可以隐藏实现细节 使得代码模块化 继承可以扩展已存在的代码模块 类 它们的目的都是为了 代码重用 而多态则是为了实现另一个目的 接口重用 封装

    2025年10月26日
    6
  • input file多选 multiple[通俗易懂]

    input file多选 multiple[通俗易懂]一直以为连点2次选择文件是多选,原来要按ctrl选中多个才是多选。。。 functionShowFileName(){ varfile; for(vari=0;document.getElementById(“file”).files.length;i++){ file=document.getElementById(“fil

    2022年7月17日
    14
  • 在html中加入外部css样式,如何引入CSS样式表?

    在html中加入外部css样式,如何引入CSS样式表?CSS用于修饰网页样式,但是,如果希望CSS修饰的样式起作用,就必须在html档中引入CSS样式表。引入样式表的常用方式有三种,即行内式、内嵌式、外链式,具体介绍如下。1.行内式行内式也称内联样式,是通过标记的Istyle属性来设置标记的样式,其基本语法格式如下:内容标记名>上述语法中,style是标记的属性,实际上任何HTML标记都拥有style属性,用来设置行内式。属性和属性值的书写…

    2022年7月14日
    21
  • DB9 公头母头引脚定义及连接

    DB9 公头母头引脚定义及连接

    2021年11月16日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号