从SSM分布式项目到SpringBoot整合减少配置文件

平时做个小项目 想用SpringBoot做 想通过自己手动转换成SpringBoot 分布式项目 中途也放弃过 最近要找工作所以重新搞了一下 随便写下。。

https://spring.io/projects/spring-boot/

http://dubbo.apache.org/en-us/

spring boot 和 dubbo 的官网。。

定义就不做多介绍了 直接来干货

其实挺简单的

第一次写这些。。 如果有不懂的可以加我qq:1010345457 讨论。。。 虽然我也不太会 互相交流当扩大知识面了。。

首先是项目结构(SSM)

父工程

common

POJO 依赖common

interface 依赖POJO

Dao 依赖 POJO

四个Service 依赖 interface Dao

三个Controller 依赖interface

 

因为做过一次了 转spring boot 我只做了 后台模块 也就是 controllerback

转换Spring Boot后结构

不要在意名字。。。

整合之后主要就是dubbo 的变化

我用的是2.7.0 的版本

https://github.com/apache/incubator-dubbo

参照了github 上的教程

这个是spring boot 整合dubbo 的 pom 文件 spring boot 版本也是教程推荐的 2.1.1.RELEASE

<dependencyManagement>
    <dependencies>
 <!-- Aapche Dubbo  -->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-dependencies-bom</artifactId>
            <version>2.7.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.7.0</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework</groupId>
                    <artifactId>spring</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>javax.servlet</groupId>
                    <artifactId>servlet-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
  </dependencies>
</dependencyManagement>
  <dependencies>
	    <!-- Dubbo Spring Boot Starter -->
    <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo-spring-boot-starter</artifactId>
        <version>2.7.0</version>
    </dependency>
    
    <dependency>
        <groupId>org.apache.dubbo</groupId>
        <artifactId>dubbo</artifactId>
    </dependency>
  </dependencies>

转换之后 主要是文件配置变得很简单  更改了几个注释 就完事了 

只更改了 service  和 controller 

 

首先是service 层 

配置文件

server.port=8080

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/1216?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root
mybatis.mapper-locations=classpath:/mapper/**.xml
mybatis.type-aliases-package=com.zz.pojo.*

spring.application.name=sbShop_serviceconsole
dubbo.scan.base-packages=com.zz.serviceimpl
dubbo.protocol.name=dubbo
dubbo.protocol.port=20880
dubbo.registry.address=N/A

由于。。电脑渣 所以我采用了直连。。。

@Service 导入的包更改了 变成import org.apache.dubbo.config.annotation.Service;

从spring 管理 变成了dubbo管理

启动器代码

@SpringBootApplication
@MapperScan("com.zz.*")
@EnableCaching
@EnableAutoConfiguration
public class MyShopZzz1Application {

	public static void main(String[] args) {
		SpringApplication.run(MyShopZzz1Application.class, args);
	}

}

然后就是controller 了

配置文件

server.port=8081

spring.mvc.view.prefix=/WEB-INF/console/
spring.mvc.view.suffix=.jsp
server.servlet.context-path=/
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/1216?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root
spring.application.name=sbShop_controllerback
dubbo.registry.address=N/A
dubbo.scan.base-packages=com.zz.serviceimpl

Service 的注入 从 @Autowired 依赖注入 变成了 @Reference 交给dubbo 调用远程服务对象

启动器

@SpringBootApplication
@EnableAutoConfiguration
public class A {

	public static void main(String[] args) {
		SpringApplication.run(A.class, args);
	}

}

大概就是这些 有些需要注意的地方 比如 配置文件中的这个dubbo.scan.base-packages=com.zz.serviceimpl

他要的是实现类的包 并不是 接口 之前就是写错了。。。 一直不好使

大概就是这些 希望对你有帮助。。。

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值