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

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

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

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

spring boot 和 dubbo 的官网。。

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

其实挺简单的

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

首先是项目结构(SSM)

从SSM分布式项目到SpringBoot整合减少配置文件_第1张图片

父工程

common

POJO 依赖common

interface 依赖POJO

Dao 依赖 POJO

四个Service 依赖 interface Dao

三个Controller 依赖interface

 

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

转换Spring Boot后结构

从SSM分布式项目到SpringBoot整合减少配置文件_第2张图片

不要在意名字。。。

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

我用的是2.7.0 的版本

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

参照了github 上的教程

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


    
 
        
            org.apache.dubbo
            dubbo-dependencies-bom
            2.7.0
            pom
            import
        

        
            org.apache.dubbo
            dubbo
            2.7.0
            
                
                    org.springframework
                    spring
                
                
                    javax.servlet
                    servlet-api
                
                
                    log4j
                    log4j
                
            
        
  

  
	    
    
        org.apache.dubbo
        dubbo-spring-boot-starter
        2.7.0
    
    
    
        org.apache.dubbo
        dubbo
    
  

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

只更改了 service  和 controller 

 从SSM分布式项目到SpringBoot整合减少配置文件_第3张图片

首先是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

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

从SSM分布式项目到SpringBoot整合减少配置文件_第4张图片

@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

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

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

 

 

 

 

 

 

 

你可能感兴趣的:(从SSM分布式项目到SpringBoot整合减少配置文件)