sofa框架简单搭建

sofa框架是基于springboot封装的又一层框架,采用rpc远程调用协议,按照博主的理解,就是封装了socket套接字。(当然,博主也是刚接触java这行的小白,博主理解的这句话可以忽略!,这也是博主第一次写博客,主要是为了整理一下刚刚学过的东西,搭建过程也是参考其他博客。)

第一步:

     新建两个springboot项目工程,new->spring starter project->输入项目名->next->next->finish

第一个项目名为sofademo,为服务端

第二个项目名为sofademoclient 客户端

第二步:

  添加sofademo 服务端的pom.xml依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
         <groupId>com.alipay.sofa</groupId>
         <artifactId>sofaboot-dependencies</artifactId>
            <version>2.3.2</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.example</groupId>
    <artifactId>sofademo</artifactId>
    <version>1.0</version>
    <packaging>jar</packaging>

    <name>sofademo</name>
    <description>Demo project for Spring Boot</description>

    

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
             <groupId>com.alipay.sofa</groupId>
             <artifactId>rpc-sofa-boot-starter</artifactId>
        </dependency>

        <!-- <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency> -->
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

添加sofademoclient 客户端的pom.xml依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>sofademoclient</artifactId>
    <version>1.0</version>
    <packaging>jar</packaging>

    <name>sofademoclient</name>
    <description>Demo project for Spring Boot</description>

    <parent>
         <groupId>com.alipay.sofa</groupId>
         <artifactId>sofaboot-dependencies</artifactId>
            <version>2.3.2</version>
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
             <groupId>com.alipay.sofa</groupId>
             <artifactId>rpc-sofa-boot-starter</artifactId>
        </dependency>

        <!-- <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency> -->
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>

第三步:

添加配置文件,在sofademo项目里,新建rpc-sofa.xml文件

<?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:sofa="http://sofastack.io/schema/sofaboot"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://sofastack.io/schema/sofaboot   http://sofastack.io/schema/sofaboot.xsd"
       default-autowire="byName">
       
       <bean id="helloSynServiceImpl" class="com.example.demogrowth.HelloSynServiceImpl" />
        <sofa:service ref="helloSynServiceImpl" interface="com.example.demogrowth.HelloSynService">
            <sofa:binding.bolt/>
        </sofa:service>
        
        
        <!-- <sofa:reference id="helloSynServiceReference" interface="com.example.demogrowth.HelloSynService">
            <sofa:binding.bolt/>
        </sofa:reference> -->
        
        
</beans>
        
在sofademoclient项目里新建rpc-sofa.xml文件

<?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:sofa="http://sofastack.io/schema/sofaboot"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://sofastack.io/schema/sofaboot   http://sofastack.io/schema/sofaboot.xsd"
       default-autowire="byName">
       
       <sofa:reference id="helloSynServiceReference" interface="com.example.demogrowth.HelloSynService">
            <sofa:binding.bolt/>
        </sofa:reference>
       
</beans>
第四步:

    在sofademo项目里(服务端),新建HelloSynService.java文件,为interface接口类,新建HelloSynServiceImpl.java文件,为实现类,修改SofademoApplication.java文件

在sofademoclient项目里(客户端),新建HelloSynService.java文件,为接口类,修改SofademoclientApplication.java文件

第五步:

先启动sofademo项目(服务端)

再启动sofademoclient项目(客户端)

成功!

猜你喜欢

转载自blog.csdn.net/qq_38270392/article/details/81386029