zoukankan      html  css  js  c++  java
  • Spring Boot系列—(一)入门

    前言

         因为项目组需要进行微服务改造,而微服务开发中需要以Spring Boot为基础。因此需要先弄懂SpringBoot。

    我们先来看看SpringBoot的背景由来,SpringBoot是什么,一个简单的SpringBoot样例工程

    1.SpringBoot的背景由来

     springboot是为了解决什么问题而产生的呢?

    我们先来看看,在spring boot之前,作为一个java开发者要从无到有的开发一个新的web项目,我们都需要做哪些?

    第一,我们创建一个java web项目,使用maven管理jar包

    第二,修改pom文件,添加第三方jar包

    第三,配置web.xml(或者一个WebApplicationInitializer实现),其中声明了DispatcherServlet

    第四,配置spring及mvc等组件中需要的配置

    第五,开发业务功能

    第六,构建war包,部署项目到tomcat中

    总之,创建一个新项目需要这么多步。

    如果有一种更简单的方式,原本需要你小半天才能做好的工作,现在只需要十几分钟就做好,岂不是更好

    因此Spring Boot就诞生了。人是多么的聪明啊

    2.Spring Boot是什么

    spring boot是一个简化搭建spring应用以及简化开发过程的一种框架。

    Spring Boot模式开发相对于传统的Web开发还是有点颠覆性改变的:

    第一,SpringBoot应用程序使用jar来运行,而传统模式是打成war包部署到servlet容器中。使用jar的模式有助于减轻运维人员的功能,更便于在Docker这种云平台的运行环境中使用。

    第二,SpringBoot是应用启动容器,而传统模式时容器启动应用。这样Spring boot的一个优势是程序本身管理了容器版本,业务代码与运行容器是直接绑定的

    第三,SpringBoot使用了大量的AutoConfig来进行探测和应用配置,使得代码配置很简单,但内部处理细节也被隐藏的很深。

    3.一个简单的Spring Boot样例工程

     环境:Eclipse  maven 

    项目结构:

    pom文件

    • spring boot父级依赖
    <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>2.0.0.M6</version>
    </parent>

    spring-boot-starter-parent是一个特殊的starter,它用来提供相关的Maven默认依赖,使用它之后,常用的包依赖可以省去version标签。关于Spring Boot提供了哪些jar包的依赖,可查看C:Users用户.m2 epositoryorgspringframeworkootspring-boot-dependencies2.0.0.M6spring-boot-dependencies-2.0.0.M6.pom 

    • 依赖  spring-boot-starter-xx

     这个样例工程是web项目,所以依赖中用到spring-boot-starter-web

    • spring boot maven插件
    <build>
     <plugins>
       <plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
       </plugin>
     </plugins>
    </build>
    • 应用入口类SampleApplication

    • 控制类SampleController

     使用SpringMVC的RestController返回一个json对象

    • Greeting:定义一个简单的POJO来作为返回对象。

    最终效果是访问localhost:8080的时候,页面会展示一个JSON字符串。

  • 相关阅读:
    在python中处理XML
    正则表达式
    python 反射
    python模块概况,json/pickle,time/datetime,logging
    python装饰器
    python3内置函数详解
    python函数,lambda表达式,三目运算,列表解析,递归
    python数据类型及其常用方法
    python3的文件操作
    初识Docker
  • 原文地址:https://www.cnblogs.com/whx7762/p/7815609.html
Copyright © 2011-2022 走看看