SpringBoot微服务构建(一)

在学习SpringBoot之前呢也查阅过一个博客和书籍,对于使用Spring框架学者来说,在开发新构建项目会配置很多配置文件,后来通过Maven等构建工具来创建针对不同场景的脚手架工程,需要新建项目时通过这些脚手架来初始化我们定义的标准工程,虽然这样减少了不少的工作量,但是这些配置依然散布在我们工程中。

Spring Boot的出现可以有效改善这类问题,Spring Boot的宗旨并非要重写Spring或代替它,而是希望通过设计大量的自动化配置等方式简化Spring原有的配置,这样使开发者可以快速构建应用。

项目构建

系统及工具版本

1.我是用的jdk1.8

2.Maven3.3.9

3.Spring Boot 2.0.3

构建Maven项目

这里配置maven和jdk环境就不介绍了

我是通过官网的Spring Initialiar工具来生产的基础项目,访问http://start.spring.io,构建完之后解压缩并用IDE以Maven项目导入。

工程结构解析

在完成上面的步骤后就创建了一个最基础的SpringBoot工程

SpringBoot微服务构建(一)_第1张图片

Maven配置解析

打开当前工程下的pom.xml文件



	4.0.0
	com.code
	SpringCloud_1.0
	0.0.1-SNAPSHOT
	jar
	SpringCloud_1.0
	Demo project for Spring Boot
	
		org.springframework.boot
		spring-boot-starter-parent
		2.0.3.RELEASE
		 
	
	
		UTF-8
		UTF-8
		1.8
	
	
		
			
			org.springframework.boot
			spring-boot-starter-web
		
		
			org.springframework.boot
			spring-boot-starter-test
			test
		
		
			org.springframework.boot
			spring-boot-starter-thymeleaf
		
	
	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	

我们注意到:打包方式为 : jar  

jar

Spring Boot默认奖该Web应用打包为jar的形式,而非war的形式,因为默认的web模块依赖会包含嵌入式的Tomcat,这样使得我们的应用jar自身就具备了提供Web服务能力。


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

说明:Spring Boot的项目必须要将parent设置为spring boot的parent,该parent包含了大量默认配置,大大简化了我们的开发。

在项目依赖dependencies配置中,包含了下面两项。

1.spring-boot-starter-web:web开发模块,包含嵌入式Tomcat、SpringMVC.

2.spring-boot-starter-test :通用测试模块

当然如果需要连接数据库可以引入:

spring-boot-starter-jdbc、spring-boot-starter-data-jpa等.不像传统Spring应用开发方式,需要在pom.xml文件里配置大量依赖,而是通过使用 Starter POMs定义依赖包

Spring Boot 的Starter POMs采用 spring-boot-starter-*命名方式,*代表一个应用功能模块依赖。

实现RESTful API

在spring Boot中使用RESTful跟在Spring中是一样的,只是不再像Spring那样先做配置。

package com.code.SpringCloud_10.web;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @RequestMapping("/hello")
    public String index(){
        return "Hello Word";
    }
}

启动应用,访问 http://localhost:8080/hello

这里有一个问题就是:

启动入口必须在controller之外,否则会报错的。

Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.

Wed Jun 27 16:09:21 CST 2018
There was an unexpected error (type=Not Found, status=404).
No message available

你可能感兴趣的:(Spring,Boot)