当前位置: 首页 > >

从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






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?


?


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


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


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


?


?


?


?


?


?


?



友情链接: