创建第一个SpringBoot项目,开启微服务之旅

很早之前,我们的服务应用都是单体架构,何为单体架构呢?就是说所有业务功能都被统一的打成一个war包,部署在一台服务器上,也被称之为 All In One。对,这样在我们以前看来,确实是能够正常的运转,好像也没什么毛病。但是你有没有想过一个问题,假如我们只是稍稍改动了某个模块中的一个类的代码,或者前端的某个html或者jsp页面稍稍做了调整,那即将要面临的将是整个项目的重新打包,发布。很是麻烦,也没有必要。同时,随着业务量的增加,系统会变得越来越繁琐,代码量也会变得越来越庞大,造成维护成本的飙升。

但随着马丁.福勒提出的微服务概念后,类似这样的问题可以说随之迎刃而解。到底微服务是一个什么样的东西呢?顾名思义,微服务即是很小的服务,就是将整个服务根据业务功能等层面进行一个独立的分割,拆分出来形成单一的服务。例如发送短信模块,订单模块,商品模块,贷款模块,他们各自都有各自的功能属性,完全可以抽取出来作为一个单独的子服务。这样的话,一个系统被细分成了多个子系统,极大的降低了系统的复杂度,以及各模块之间的耦合度。同时也能极大提升团队的开发效率。

说完微服务的大体概念后,下面就来讲讲SpringBoot到底是一个什么样的东西吧!

在很久以前的SSM项目,我们在搭建项目架构时,首先是不是得引入SSH整合的核心jar包,然后编写applicationContext.xml来开启包扫描,自动装配bean,开启事务等等配置,编写mybatis-config.xml来配置数据连接池,全局属性等,配置web.xml加载servlet容器等一系列的工作等着你去做,应该算是相当的繁琐了。但是现在这些工作不需要你再去做了,SpringBoot会给你做好,因为它引进了一个非常牛逼的功能,那就是自动装配,通过至关重要的@SpringBootApplication注解,就能帮你实现自动装配你所需的对象,配置数据源等等功能。是不是简单的太多了。简而言之,SpringBoot就是在Spring上进行了进一步的封装,提供了很多的开箱即用的starter,助力你快速的搭建项目的整体架构。此外,SpringBoot还内嵌了tomcat的容器,无须单独发布到新的servlet容器了,运行自动生成的Application类中的main方法即可。它还有很多的新的特性,这里就不再一一赘述了。我这仅仅只是大概的描述了下springboot的概念,有兴趣大家可以去spring的官网上继续深入学习,毕竟官方的才是最权威的。

下面,我们即将进入正题,初探一下SpringBoot,开启我们的微服务之旅吧!(用ida创建第一个SpringBoot应用)

  1. 启动idea,新建工程,选择Spring Initializr,JDK最好用1.8,因为Spring5.0之后好像就要求jdk在1.8以上,URL默认即可,然后点击【next】进入下一步!创建第一个SpringBoot项目,开启微服务之旅_第1张图片
  2. 填写groupId和ArtifactId,打包方式默认jar即可。因为SpringBoot项目默认是打成jar包的。然后点击【next】。创建第一个SpringBoot项目,开启微服务之旅_第2张图片
  3. 这一步,提供的是你可以使用到的开箱即用的组件,因为是咱们的第一个SpringBoot项目,那必须得来一个Hello Word对吧,所以这一步我选择了web模块,代表我集成了Spring的MVC模块,及SpringMVC。点击【next】进入下一步。创建第一个SpringBoot项目,开启微服务之旅_第3张图片
  4. 点击【finish】,等待项目的构建完成。创建第一个SpringBoot项目,开启微服务之旅_第4张图片
  5. 让我们来了解下pom文件的构成以及SpringBootApplication注解吧!因为我刚刚勾选了web模块,所以SpringBoot为我们快速构建了web模块。SpringBootApplication注解的作用是开启包扫描,并开启自动装配的功能。
    
    
    	4.0.0
    	
    		org.springframework.boot
    		spring-boot-starter-parent
    		2.2.0.RELEASE
    		 
    	
    	com.example
    	demo
    	0.0.1-SNAPSHOT
    	demo
    	Demo project for Spring Boot
    
    	
    		1.8
    	
    
    	
    		
    		
    			org.springframework.boot
    			spring-boot-starter-web
    		
    
    		
    		
    			org.springframework.boot
    			spring-boot-starter-test
    			test
    			
    				
    					org.junit.vintage
    					junit-vintage-engine
    				
    			
    		
    	
    
    	
    		
    			
    				org.springframework.boot
    				spring-boot-maven-plugin
    			
    		
    	
    
    
    

     

  6. 接下来,让我们开始实现Hello Word的功能吧!
    package com.example.demo;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    @SpringBootApplication
    public class DemoApplication {
    
    	public static void main(String[] args) {
    
    		SpringApplication.run(DemoApplication.class, args);
    
    	}
    
    	@RequestMapping("/test")
    	public void test(){
    		System.out.println("Hello Word!");
    	}
    
    }

     

  7. 启动我们的SpringBoot应用,即DemoApplication中的main方法即可。若看到port8080字样,即表示服务启动成功!创建第一个SpringBoot项目,开启微服务之旅_第5张图片
  8. 接下来,让我们试着去浏览器上访问下试试看吧,是不是能在控制台上打印Hello Word!访问的地址为localhost:8080/test创建第一个SpringBoot项目,开启微服务之旅_第6张图片
  9. 所有流程都结束了,一切测试顺利。这就是一个最简单的SpringBoot应用,是不是比之前的传统应用简单多了呢?

你可能感兴趣的:(SpringBoot)