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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • viewstub 的详细用法_pageinfo用法

    viewstub 的详细用法_pageinfo用法在开发应用程序的时候,经常会遇到这样的情况,会在运行时动态根据条件来决定显示哪个View或某个布局。那么最通常的想法就是把可能用到的View都写在上面,先把它们的可见性都设为View.GONE,然后在代码中动态的更改它的可见性。这样的做法的优点是逻辑简单而且控制起来比较灵活。但是它的缺点就是,耗费资源。虽然把View的初始可见View.GONE但是在Inflate布局的时候View仍然会被Infl…

    2022年4月19日
    50
  • idea集成svn使用教程_idea svn使用教程

    idea集成svn使用教程_idea svn使用教程1IDEA集成SVN1.1下载SVN客户端这里使用的是TortoiseSVN,下载后安装,然后记住安装路径。官方下载地址:TortoiseSVN官方下载地址1.2安装SVN客户端在安装svn客户端的时候一定要勾选,否则在idea上集成svn的时候会找不到svn.exe而报错。如果安装时忘记勾选了的话,安装包重新运行,选择modify,然后勾选commandlinecl…

    2022年10月17日
    2
  • pycharm创建anaconda环境_conda怎么安装

    pycharm创建anaconda环境_conda怎么安装1、首先在condaprompt中创建新的环境。condacreate–name<env_name><package_names>尖括号代表文字内容,实际使用时不需要添加。如之后还需要再添加新的库进入环境,需在condaprompt中激活环境,并且利用pip安装新的包。<查看环境列表>condaenvlist或者condainfo-e<激活目标环境>activate<env_name>&l

    2022年8月25日
    7
  • 杭电 2201

    杭电 2201

    2022年1月25日
    50
  • java编程app_如何用java开发app

    java编程app_如何用java开发app前言本人是底层211本科,刚毕业,⽆科研经历,但是有些项⽬经历。在国内监控行业某头部企业做过一段时间的实习。想着投下字节,可以积累⼀下⾯试经验和为金九银十面招做准备。投了简历之后,过了一段时间,HR就打电话跟我约时间,说明一下,我投的是北京office。以下就是一个面试的全部过程,分享出来给感兴趣的朋友们一看。阿里的人才画像其实最近两年自己一直在做面试官,也面试过很多优秀的人,心里大概有一个标准,知道什么样的人才是我们想要的人。但是这个标准我一直都没有仔细的去思考过,刚好最近有时间

    2022年9月23日
    2
  • 国外免费空间域名_谷歌空间免费账号

    国外免费空间域名_谷歌空间免费账号 经过了最近一段时间的了解以及本人实际注册,发现了国外有很多的免费空间,但是问题还是很多的,最多的就是注册后访问不了了,可能原因有二,一是网站服务器那边的本身设置,二是我们国家的对外封锁。现将我注册过的网站公布如下,有成功的以及未成功的,总结问题也简要包括,供大家参考,不要再在这个上面浪费更多的时间了。如果大家看到有什么好的空间也请告之,不胜感激:(更新截止日期2007-07-1)注意:以下所说的

    2022年8月30日
    2

发表回复

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

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