Spring Boot

本文介绍了SpringBoot的基本理念、限制与优势,以及如何利用Maven搭建SpringBoot项目,包括添加starter父依赖、创建控制器和启动应用。此外,还讲解了如何使用Idea的Spring Initializr进行标准搭建和阿里镜像仓库配置。
摘要由CSDN通过智能技术生成

Spring Boot

  1. Spring Boot 简介
    SpringBoot的理念是:用最少的配置,做更多的事情。

开发Spring Boot的主要动机是简化配置和部署spring应用程序的过程(Spring Boot严格意义上讲,不是一个框架,应该是一个企业级项目的解决方案)。Spring Boot不需要Spring和Spring mvc的maven包,它自己自带对应Spring驱动和web服务。可以创建独立运行的spring项目工程,直接嵌入web服务器如tomcat,无需再部署工程到web服务器中,严格意义上来讲,Spring Boot并不是一个框架,而是一个用来简化部署甚至零部署的方式来开发、打包、部署我们的项目。但是Spring Boot的核心还是Spring框架,按照Spring团队的说明,后面的Spring Boot项目不会有任何XML配置作为它的一部分(官方指定使用注解模式),一切都将由Spring Boot来负责处理。

Spring Boot的限制:将现有或传统的Spring Framework项目转换为Spring Boot应用程序是一个非常困难和耗时的过程。官方建议大家在使用SpringBoot的时候基于全新的Spring项目来开发。

需要注意的是SpringBoot1.4~2.0之前版本的时候还可以对JDK1.7的支持
最新的SpringBoot2.0之后的版本(包括2.0版本)依赖的JDK版本为1.8及以上
官方建议JDK版本尽可能使用Java8+。(JSE JEE 原来的称呼叫做J2SE J2EE)

PS:这里需要注意,idea目前版本对于springboot的支持不够完善,经常会提示找不到文件的错误,特别是在生成jar并执行jar的时候,所以如果出现此问题,首先检查文件中所有的类和配置文件是否正确,如果都正确的情况,最简单的办法是新建一个工程,导入所有的代码再生成一次

  1. SOA与微服务(MicroServices)
    SOA是一种面向服务的架构,应用程序的不同组件通过网络上的通信协议向其他组件提供服务。微服务架构在某种程度上是面向服务的架构SOA的迭代升级,微服务的整体设计与SOA架构非常类似,但是也有部分区别,下面列出对应的比较:
    在这里插入图片描述

如果想要在异构环境中使用不同协议来集成多个系统,则优先选择使用SOA。如果所有服务都可以通过相同的远程访问协议访问,那么微服务会是更好的一个选择,目前大部分后台服务系统已经都统一为Java语言开发,所以微服务越来越火也是这个原因。

  1. SpringBoot官方文档
    https://spring.io/projects/spring-boot/#learn
    在这里插入图片描述

  2. 加入阿里国内的镜像仓库
    找到idea安装路径中maven的地址,如下:
    D:\IntelliJ IDEA 2018.1.2\plugins\maven\lib\maven3\conf
    路径根据自己安装时候所对应的路径,然后打开settings.xml文件,找到父标签,在里面添加如下的内容:

<mirror>  
	<id>alimaven</id>  
   <name>aliyun maven</name>  
   <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
   <mirrorOf>central</mirrorOf> 
</mirror>

这样每次maven就会到阿里服务器上抓取内容了,阿里服务器和maven官网的内容是一一对应的,所以不用担心找不到的情况

  1. Maven Spring Boot搭建
    首先在pom文件中添加两个maven包
<!-- 在maven工程中加入SpringBoot 内核支持 -->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.3.8.RELEASE</version>
  <type>pom</type>
</dependency>

<!-- 在maven工程中加入SpringBoot web工程的支持 -->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
  <version>2.3.8.RELEASE</version>
</dependency>

然后创建一个java类

@Controller
@EnableAutoConfiguration
public class MyController {
    @RequestMapping("/")
    @ResponseBody
    String home() {
        return "Hello World!";
    }

    public static void main(String[] args) throws Exception {
        SpringApplication.run(MyController.class, args);
    }
}

执行这个main方法,查看springboot是否运行成功,接着在浏览器中直接访问localhost:8080,就可以看到helloworld的字符串内容了。
PS:一定要注意,根据官方的建议,应该把控制器放置在根目录下,而不应该放置某一个目录中,例如下面的效果:

这样的作用是当使用@SpringBootApplication自动扫描功能时,会扫描整个cn.th目录

  1. Maven Spring Boot parent
    在官方文档中,要求我们把springboot的核心支持放入到parent标签中,而不应该放置在dependencies标签中,这样保证后续的springboot分支maven包,都基于parent标签中核心来延展,所以我们需要修改下上一节讲述的内容,把spring-boot-starter-parent放置在parent标签中,如下:
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.8.RELEASE</version>
</parent>

这个时候,idea工具应该可以辨识出对应的顺序,展示对应的图标(新版idea工程中可能不会再出现此图标,只要运行并且访问成功就算完成):
在这里插入图片描述

最后记得移除上一节配置的parent maven包

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.0.2.RELEASE</version>
  <type>pom</type>
</dependency>

然后,我们继续运行测试代码是否执行成功

  1. Idea Spring Initializr标准搭建
    在这里插入图片描述

idea会自动创建springboot环境,特别是在创建jar包时,可以避免很多不必要的错误。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值