【Spring Boot 简介及快速搭建】

Spring Boot 简介

Spring Boot 基于Spring 4.0(javaconfig注解开发方式)设计的,是由Pivotal公司提供的框架。
Spring发展史,Rod Johnson 2003 Interface Spring.
2004 开源《Spring Source》
2008 收购Tomcat Apatch Servlet
2009 Spring VMware 4.6亿美金收购了
先后收购了RabbitMQ , redis.
2013 成立 Pivotal
2014 Spring Boot
2015 Spring Cloud
2018 敲钟上市

2014年4月发布Spring Boot 1.0 基于 Spring 4.0
2018年3月Spring Boot 2.0 发布基于Srping 5.0
Spring Boot 基于Spring 开发,其设计目的是初始化以及开发过程
约定大于配置 spring 整合 spring MVC 资源文件静态映射,约定了静态资源文件存放位置 不需要考虑版本之间的问题
简化Spring 应用开的一个框架
对整个企业级开发技术栈的一个大整合bulid anything
J2EE 开发的一站式解决方案

Spring Boot 快速搭建

Maven搭建

创建一个maven工程;
maven官网下载对应版本,要下载3.8.8版本点这里,要下载zip包
setting.xml文件配置阿里云镜像
修改默认仓库

<localRepository>E:\maven\repository</localRepository>

阿里云maven仓库,会快很多,不然得访问外网下载maven.

 <mirror>
		<id>aliyunmaven</id>
		<mirrorOf>*</mirrorOf>
		<name>阿里云公共仓库</name>
		<url>https://maven.aliyun.com/repository/public</url>
	</mirror>

项目引入依赖继承父Maven中所有配置信息,spring-boot-dependencies 帮我们管理了spring-boot所有的依赖的版本,帮我们解决了版本冲突的问题,名词:SpringBoot的版本制裁中心.如果加载不到依赖就把version的版本降低一些,springboot3.0的依赖目前aliyun下载不到。

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.5.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
  </parent>

引入的这个spring-boot-starter-web的版本可以在spring-boot-dependencies看到配置版本,所以不需要我们自己去配置版本

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

这里边就可以看出jar包的引入关系

starter 场景启动器:不同的场景启动器维护了所有对应依赖,从而简化maven文件书写,所以pom.xml里边简单的配置了几行就引入了那么多jar包。
SpringBoot官网具体说明了,那些场景需要那些依赖,点进来查看
部署springboot的插件,只有加了这个插件运行 Java -jar 才能启动

    <plugin>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>

建包并创建控制器

@RestController
@RequestMapping("/hello")
public class controllers {

 @RequestMapping("/world")
 public  String  hello(){
     return  "hello world!";
 }
}

编写启动类

@RestController
@RequestMapping("/hello")
public class controllers {

 @RequestMapping("/world")
 public  String  hello(){
     return  "hello world!";
 }
}

修改端口 项目虚拟路径 在resources 下新建application.properties

server.port=8088
server.servlet.context-path=/hello

@SpringBootApplication SpringBoot的启动类
@Configuration spring.xml 配置类
@ComponentScan Spring底层解析配置类 读取basePackages,如果没有读取到,将当前配置类所在的包当作扫描包
ComponentScanAnnotationParser源码

     String[] basePackagesArray = componentScan.getStringArray("basePackages");
     String[] var19 = basePackagesArray;
     int var21 = basePackagesArray.length;

     int var22;
     for(var22 = 0; var22 < var21; ++var22) {
         String pkg = var19[var22];
         String[] tokenized = StringUtils.tokenizeToStringArray(this.environment.resolvePlaceholders(pkg), ",; \t\n");
         Collections.addAll(basePackages, tokenized);
     }

     Class[] var20 = componentScan.getClassArray("basePackageClasses");
     var21 = var20.length;

     for(var22 = 0; var22 < var21; ++var22) {
         Class<?> clazz = var20[var22];
         basePackages.add(ClassUtils.getPackageName(clazz));
     }

     if (basePackages.isEmpty()) {
         basePackages.add(ClassUtils.getPackageName(declaringClass));
     }

所以启动类最好放在需要扫描包的根目录,或者放在所以Bean的顶层目录中

使用SpringInitializer快速创建Spring Boot项目

1.IDEA:使用Spring Initializer快速创建项目继承关系springboot的maven项目
file -> new ->project在这里插入图片描述
点击Next
在这里插入图片描述
点击Create,修改pom文件
在这里插入图片描述
加入 pom,将.mvn HELP.md mvnw mvnw.cmd 文件删掉 用不上
在这里插入图片描述
重复父项目的创建方法,修改父项目的pom增加子项目名称,删掉多余文件
在这里插入图片描述
修改子项目pom文件 parent 替换为父项目,增加打包方式为jar
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值