방법 1: 그림과 같이 IDEA에서 직접 새 프로젝트 만들기:
방법 2: start.spring.io에서 새 프로젝트 만들기
어떤 아이들은 발견했을 수도 있는데, 한 가지 방법의 서버 URL은 두 번째 웹사이트인데 똑같습니다
두 개의 새 프로젝트를 만들려면 첫 번째 프로젝트는 위 그림과 같고, 두 번째 프로젝트만 하면 됩니다. 공급자를 소비자로 변경
나머지는 변경되지 않고 압축을 푼 후 IDEA를 통해 엽니다.
provider 프로젝트 구조:
consumer 프로젝트 구조:
두 ServiceAPI가 프로젝트에 있는 위치를 참고하세요. 위치 또는 패키지 이름은 엄격하게 일치해야 합니다. 그렇지 않으면 나중에 문제가 발생합니다. 일치하지 않는 경우 필요에 따라 다음과 같이 변경할 수 있습니다. /code>
파일: dubbo.xsd
step3 두 프로젝트의 리소스 아래에 새 구성 파일을 만듭니다.
생성해야 할 새 이름은 다음과 같습니다.spring-dubbo .xml
provider의 구성 파일 쓰기: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> <!-- dubbo应用名称 --> <dubbo:application name="springboot-buddo-provider"/> <!-- 发布者 dubbo协议 --> <dubbo:protocol name="dubbo" port="20881"/> <!-- 定义bean --> <bean id="providerImpl" class="com.springdubbo.demo.springbootdubbo.apiImpl.ProviderImpl"/> <!-- dubbo服务 发布者发布服务 需要暴露的服务接口 --> <dubbo:service interface="com.springdubbo.demo.springbootdubbo.ServiceAPI" ref="providerImpl" registry="N/A"/> </beans>
C:Users用户名.lemminxcachehttpcode.alibabatech.comschemadubbo
文件:dubbo.xsd
需要新建的名字为:spring-dubbo.xml
provider的该配置文件中写入:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> <!-- dubbo应用名称 --> <dubbo:application name="springboot-buddo-consumer"/> <!-- 远程服务调用代理 --> <dubbo:reference id="consumerImpl" interface="com.springdubbo.demo.springbootdubbo.ServiceAPI" url="dubbo://localhost:20881" /> </beans>
consumer的该配置文件内写入:
<dependency> <groupId>com.alibaba.spring.boot</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>2.0.0</version> </dependency>
在两个项目的pom.xml下均添加依赖:
package com.springdubbo.demo.springbootdubbo.apiImpl; import com.alibaba.dubbo.config.annotation.Service; import com.springdubbo.demo.springbootdubbo.ServiceAPI; /** * @author wuyt * @data 2022/6/11 * @apiNote */ @Service public class ProviderImpl implements ServiceAPI { public String getMessage(String message) { return "springboot-dubbo-provider =>>>>>" + message; } public String getTheFeibN(int n) { //斐波那契数列第n项的实现逻辑 } }
ProviderImpl
Service注解一定不要忘记加,而且一定要是dubbo的Service
package com.springdubbo.demo.springbootdubbo; /** * @author wuyt * @data 2022/6/11 * @apiNote */ public interface ServiceAPI { public String getMessage(String message); public String getTheFeibN(int n); }
ServiceAPI
package com.springdubbo.demo.springbootdubbo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ImportResource; @SpringBootApplication @ImportResource("classpath:spring-dubbo.xml") public class SpringbootDubboApplication { public static void main(String[] args) { SpringApplication.run(SpringbootDubboApplication.class, args); } }
SpringbootDubboApplication
一定要加上ImportResource注解
package com.springdubbo.demo.springbootdubbo; /** * @author wuyt * @data 2022/6/11 * @apiNote */ public interface ServiceAPI { public String getMessage(String message); public String getTheFeibN(int n); }
ServiceAPI
package com.springdubbo.demo.springbootdubbo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.ImportResource; @SpringBootApplication @ImportResource("classpath:spring-dubbo.xml") public class SpringbootDubboApplication { public static void main(String[] args) { ConfigurableApplicationContext count = SpringApplication.run(SpringbootDubboApplication.class, args); ServiceAPI impl = (ServiceAPI)count.getBean("consumerImpl"); // System.out.println(impl.getMessage("Hello dubbo")); System.out.println(impl.getTheFeibN(10)); } }
SpringbootDubboApplication
consumer의 구성 파일 쓰기:
두 프로젝트의 pom.xml에 종속성 가져오기
아래에 종속성 추가:
rrreeeprovider
ProviderImpl
서비스 주석을 추가하는 것을 잊지 마세요. 이는 dubbo의 Servicerrreee
ServiceAPI
rrreee
SpringbootDubboApplication
이어야 합니다. ImportResource 주석을 추가하세요
rrreee🎜consumer🎜🎜ServiceAPI
🎜rrreee🎜SpringbootDubboApplication
🎜rrreee🎜포트 충돌 변경🎜🎜공급자 또는 포트를 수정할 수 있습니다 🎜🎜여기서 실행 중인 소비자의 포트 번호를 수정하세요.🎜🎜🎜🎜🎜step5 Run🎜🎜먼저 공급자를 실행한 다음 소비자를 실행하세요🎜🎜결과:🎜🎜🎜🎜위 내용은 Fibonacci의 n번째 항을 구현하기 위해 SpringBoot로 Dubbo 프로젝트를 빌드하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!