SpringCloud系列:2.Spring Boot项目搭建

Spring Cloud以Spring Boot为基石,是Spring Boot框架的延续和扩展,所以在开始Spring Cloud微服务前,我们需要先了解Spring Boot框架,如果之前没有接触过Spring Boot,也是没有关系的,相信简单的了解后你就会使用。

一、什么是Spring Boot

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。Spring Boot框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

可以说Spring Boot并不是什么新的框架,它只是默认配置了很多框架的使用方式,对一切常用的组件进行整合,达到了自动配置,开箱即用,从而方便快速开发。

在使用上,Spring Boot通过提供一系列名称以spring-boot-starter开头的启动器帮助我们简化项目的依赖。比如,当我们在项目中添加了spring-boot-starter-web时,Spring Boot就自动将相关依赖,如spring-mvc、jackson-json、tomcat等引入,从而将项目变成一个Web项目。大家可以到这里(http://t.cn/Rn30Zr7)查看全部的Spring Boot启动器列表。以下是开发中常用的启动器:

SpringCloud系列:2.Spring Boot项目搭建_第1张图片

二、搭建Spring Boot

搭建环境:jdk1.8(必须1.8或以上版本)、Spring Boot2.1.1.RELEASE(2.x版本与1.x版本有所不同)、maven3.5.3(没有版本要求)、mysql8.0.13(不同版本可能略有不同)

开发工具没有任何要求,自己熟悉的即可,这里我使用了Eclipse。

在eclipse中,选择新建项目,选择Spring Boot下的Spring Starter Project即可。

SpringCloud系列:2.Spring Boot项目搭建_第2张图片

然后设置项目名和包名。

SpringCloud系列:2.Spring Boot项目搭建_第3张图片

然后选择Spring Boot版本,选择2.x的版本,以及需要依赖的组件,这里选择了则pom文件里会自动引入,不选择也没有任何影响,后续需要可以再手动添加。

SpringCloud系列:2.Spring Boot项目搭建_第4张图片

项目建成后,目录结构如下,其中SpringbootProjectApplication为项目的启动类,默认为Application.java,这里我进行了修改,右键选择Run As或者Debug As即可启动该项目,其中@SpringBootApplication声明这是一个Spring Boot项目,@ComponentScan扫描项目中的bean,如果程序代码均在启动类同包下,则不需要声明,@MapperScan声明mybatis的dao层的扫描路径,如果不引入mybatis,则不需要。

SpringCloud系列:2.Spring Boot项目搭建_第5张图片

以下是pom文件,其中除了Spring Boot项目必须的spring-boot-starter-web外,还引入了mybatis组件(因为实际工作中常用mybatis,所以这里也引入了mybatis),mysql数据源以及druid连接池,此外,为了简化代码和开发,还引入了lombok插件——简化繁杂代码,swagger2API文档组件——方便接口调用测试,spring-boot-devtools热部署插件。



	4.0.0

	
	
		org.springframework.boot
		spring-boot-starter-parent
		2.1.1.RELEASE
		
	

	
	com.yanger
	user-server
	0.0.1-SNAPSHOT
	user-server
	Demo project for SpringCloud

	
		
		UTF-8
		
		1.8
		${java.version}
		${java.version}
		
		2.7.0
		1.3.1
		1.0.28
		8.0.13
		Finchley.SR2
	

	

		
		
			org.springframework.boot
			spring-boot-starter-web
		

		
		
			org.mybatis.spring.boot
			mybatis-spring-boot-starter
			${mybatis.version}
		

		
		
			com.alibaba
			druid
			${druid.version}
		

		
		
			mysql
			mysql-connector-java
			runtime
		

		
		
			org.projectlombok
			lombok
			true
		

		
		
			io.springfox
			springfox-swagger2
			${swagger.version}
		
		
			io.springfox
			springfox-swagger-ui
			${swagger.version}
		

		
		
			org.springframework.boot
			spring-boot-starter-test
			test
		

		
		
			org.springframework.boot
			spring-boot-devtools
			
			true
			true
		

	

	
		
			
				org.springframework.cloud
				spring-cloud-dependencies
				${spring-cloud.version}
				pom
				import
			
		
	

	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
				
					true
				
			
		
	

然后就是Spring Boot的配置文件,Spring Boot文件支持properties和yml两种格式,默认文件名称都是application,存放在resources目录中。项目默认生成的是application.properties,这里改用了application.yml。其中server.port为应用启动后所监听的端口,不配置默认就是8080端口。

SpringCloud系列:2.Spring Boot项目搭建_第6张图片

# 应用启动后所监听的端口,可以不配置,默认就是8080端口
server:
  port: 10800

# 数据源的配置
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver #com.mysql.jdbc.Driver #8.0.13的驱动连接与旧版本有更改
    url: jdbc:mysql://localhost:3306/clouds?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT
    username: root
    password: 1234
    # 使用druid数据源
    type: com.alibaba.druid.pool.DruidDataSource
    
# mybatis配置,设置po数据库映射文件的路径,以及mapper的xml文件路径
mybatis:
  typeAliasesPackage: com.yanger.*.po
  mapperLocations: classpath*:mapper/**/*Dao.xml
  configuration:
    #打印mybatis的sql,方便开发
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    mapUnderscoreToCamelCase: true

# 配置日志输出级别,将Spring框架设置为INFO级别,而自己所编写的代码设置为DEBUG级别
logging:
  file: D:/code/cloud/log/springboot-project.log
  level:
    org:
      springframework: INFO
    com:
      yanger: DEBUG

自此,一个完整的Spring Boot项目就搭建完成了。另附上swagger的配置文件,使用则在Controller类上加上@Api注解即可,此外在方法上加上@ApiOperation可进行解释说明。user包为业务代码。user包为业务代码,包含了controller,service,dao,po实体,vo对象,功能为简单的增删改差,这里就不贴具体代码了,需要的可以去源码地址查看或者下载,项目源码地址:https://github.com/imyanger/springcloud-project/tree/master/p1-springboot。

SpringCloud系列:2.Spring Boot项目搭建_第7张图片

然后启动项目,因为没有前台界面,可以访问swagger界面,输入网址:http://localhost:10800/swagger-ui.html,即可出现如下界面,可以对展示方法进行测试。

SpringCloud系列:2.Spring Boot项目搭建_第8张图片

项目源码地址:https://github.com/imyanger/springcloud-project/tree/master/p1-springboot

你可能感兴趣的:(SpringCloud学习系列)