iis网站配置 无法浏览,网站后台用什么,wordpress火车头免密发布模块接口,中山网站建设服务一、什么是Spring Boot #xff1f;现阶段的 Spring Boot 可谓是太火了#xff0c;为什么呢#xff1f;因为使用方便、配置简洁、上手快速#xff0c;那么它是什么#xff1f;从官网上我们可以看到#xff0c;它是 Spring 开源组织下的一个子项目#xff0c;主要简化了 …一、什么是Spring Boot 现阶段的 Spring Boot 可谓是太火了为什么呢因为使用方便、配置简洁、上手快速那么它是什么从官网上我们可以看到它是 Spring 开源组织下的一个子项目主要简化了 Spring 繁重的配置而且 Spring Boot 内嵌了各种 Servlet 容器如Tomcat、Jetty 等官方网站http://projects.spring.io/spring-boot/GitHub源码https://github.com/spring-projects/spring-boot二、Spring Boot 的优势 1、独立运行不需要在用 tomcat 等容器运行。2、简化配置不需要在像 Spring mvc 那样配置很多的xml了3、自动配置根据包路径自动配置 bean4、应用监控Spring Boot 提供监控服务三、项目创建1、创建提供者后面点击 finish创建完毕然后删掉多余包使得项目结构如下图右击项目新建一个提供者对外提供服务的模块 qbs-facade然后再按照该模式创建一个 qbs-web 模块这里就不介绍了最终的项目结构如下图所示修改 主 pom 文件?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionpackagingpom/packaginggroupIdcom.btd/groupIdartifactIdqbs/artifactIdversion0.0.1-SNAPSHOT/versionnameqbs/namemodulesmoduleqbs-facade/modulemoduleqbs-api/module/modulesparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.1.6.RELEASE/versionrelativePath//parentpropertiesjava.version1.8/java.versiondubbo.version2.7.1/dubbo.version/propertiesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project
3、编写 facadeSayFacade.javapackage com.btd.qbs.facade;public interface SayFacade {String say(String context);
}facade 模块的 xml 文件它只是对外提供一下接口的所以不需要其它东西?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.btd/groupIdartifactIdqbs-facade/artifactIdversion0.0.1-SNAPSHOT/versionnameqbs-facade/namepackagingjar/packaging/project4、组织api模块实际接口的实现先看 pom.xml 文件?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdparentartifactIdqbs/artifactIdgroupIdcom.btd/groupIdversion0.0.1-SNAPSHOT/version/parentmodelVersion4.0.0/modelVersionartifactIdqbs-api/artifactIdpackagingjar/packagingdependencies!-- spring boot 相关 start --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency!-- spring boot 相关 end --!--dubbo 相关--dependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo-spring-boot-starter/artifactIdversion${dubbo.version}/version/dependencydependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo/artifactIdversion${dubbo.version}/version/dependencydependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo-dependencies-zookeeper/artifactIdversion${dubbo.version}/versiontypepom/type/dependency!-- dubbo 相关依赖 end--dependencygroupIdcom.btd/groupIdartifactIdqbs-facade/artifactIdversion0.0.1-SNAPSHOT/versionscopecompile/scope/dependency/dependencies/projectapplication.properties 文件spring.application.nameqbs-providerserver.port11222dubbo.application.id${spring.application.name}
dubbo.application.name${spring.application.name}
dubbo.protocol.port 28820
dubbo.protocol.name${spring.application.name}# zk注册中心地址
dubbo.registry.addresszookeeper://127.0.0.1:2181# 提供者配置
dubbo.provider.namedubbo
dubbo.provider.protocoldubbo
dubbo.provider.version1.0.0
dubbo.provider.timeout30000SayFacadeImpl.javapackage com.btd.qbs.service;import com.btd.qbs.facade.SayFacade;
import org.apache.dubbo.config.annotation.Service;Service
public class SyaFacadeImpl implements SayFacade {Overridepublic String say(String context) {return 小肥羊对你说context;}
}启动文件 Application.javapackage com.btd.qbs;import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration;EnableDubbo
SpringBootApplication(exclude MongoAutoConfiguration.class)
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class);}
}OK ,到这里来说我们的提供者就完成了启动项目然后我们看看 dubbo-admin这里要注意因为我们的 facade 是对外需要映入的所以我们打个 jar 包打完包后我们会得到一个 jar 文件2、建立消费者引入我们打的 jar 包配置文件spring.application.nameqbs-consumerserver.port11121
dubbo.application.id${spring.application.name}
dubbo.application.name${spring.application.name}
dubbo.protocol.port28820
dubbo.protocol.namedubbo# zk注册中心地址
dubbo.registry.addresszookeeper://172.25.37.130:2181# 消费者配置
dubbo.consumer.version1.0.0
dubbo.consumer.checkfalse
dubbo.consumer.timeout8000pom.xml 文件?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.1.6.RELEASE/versionrelativePath/ !-- lookup parent from repository --/parentgroupIdcom.btd.abs/groupIdartifactIdqbs-consumer/artifactIdversion0.0.1-SNAPSHOT/versionnameqbs-consumer/namedescriptionDemo project for Spring Boot/descriptionpropertiesjava.version1.8/java.versiondubbo.version2.7.1/dubbo.version/propertiesdependencies!-- spring boot 相关 start --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency!-- spring boot 相关 end --!--dubbo 相关--dependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo-spring-boot-starter/artifactIdversion${dubbo.version}/version/dependencydependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo/artifactIdversion${dubbo.version}/version/dependencydependencygroupIdorg.apache.dubbo/groupIdartifactIddubbo-dependencies-zookeeper/artifactIdversion${dubbo.version}/versiontypepom/type/dependency!-- dubbo 相关依赖 end--!-- 基础依赖 start --dependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.59/version/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdscopeprovided/scope/dependency!-- 基础依赖 end --/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build
/projectApplication.java 文件package com.btd.abs;import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration;EnableDubbo
SpringBootApplication(exclude MongoAutoConfiguration.class)
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}
DbsController.java 文件package com.btd.abs.controller;import com.btd.qbs.facade.SayFacade;
import org.apache.dubbo.config.annotation.Reference;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;RestController
RequestMapping(/qbs)
public class DbsController {Referenceprivate SayFacade sayFacade;GetMapping(/say)ResponseBodypublic String say(String context) {return sayFacade.say(context);}
}最后调用结果http://localhost:11121/qbs/say?contextasde3好了这是spring boot 集成 dubbo的一整套商业使用的代码事例按着从上到下的操作是完全OK的有意向的可以关注下我公众号哦 刚开的本文纯属原创转载请申明