Idea Spring Cloud + MyBatis + Redis 微服务开发项目搭建

这是一个使用idea + maven 进行spring cloud项目搭建的总结博客

使用的有idea作为开发工具,maven管理工程,spring boot 、spring cloud搭建微服务,mysql作为数据库,mybatis作为持久化映射工具,搭配tk.mybatis简化使用,使用redis作为缓存

要搭建一个Spring Cloud 微服务的工程是简单的:

1.首先需要先搭建一个maven多模块工程。

2.而后在多模块spring boot主类模块中引入spring cloud的依赖,是一个注册中心则引入server依赖,是一个微服务则引入client依赖。需要调用其他服务的则在相应模块引入依赖,在主类打上启动注解。

3.在配置文件application.properties或者application.yml配置微服务地址和注册中心地址,而后在主类打入微服务发现注解,注意最好使用@EnableDiscoveryClient注解而不是@EnableEurekaClient,这样做的好处在于,不管使用的是什么注册中心的依赖,都不需要再修改主类的注解

4.创建项目的包和模块,如果项目较大或者开发人员较多,建议service、dao等包单独分一个模块,这样做的好处在于,若别人想使用你的底层模块内的类则只需要将对应的模块交给他(例如pojo层和utils层)。

5.在主类@SpringBootApplication(scanBasePackages = {“包名”})添加扫描的包,所以多模块的包最好有共同前缀,这样就不用填入多个包名.

6.在项目的根模块的pom.xml文件定义dependencyManagement元素,对项目的依赖进行版本管理,这样做的好处在于,一是多模块的依赖不需要定义version元素,避免了依赖的版本冲突(不同模块使用不同版本同一依赖可能发生冲突),二是在想要修改项目依赖的版本,只需要修改根模块dependencyManagement元素下的版本,不需要一个个找。但是在依赖较多情况下,会让根模块的dependencyManagement元素十分复杂。

7.引入本项目其他人的依赖需要将项目放在本地maven仓库,而后在pom.xml引入依赖,如果仅在project structure引入依赖,idea编译运行是没有问题的,但是会出现maven打包工程时出现找不到依赖的问题

附:在编程时应该注意面向对象六大原则:

1.单一职责原则 SRP

2.开闭原则 OCP

3.里氏替换原则 LSP

4.依赖倒置原则 DIP

5.接口隔离原则 ISP

6.迪米特原则 LOD

这样在项目进行修改或者拓展的时候会比较方便

你可能感兴趣的:(spring,boot,java,mybatis,spring,maven)