SpringBoot介绍,快速入门小例子,目录结构,不一样的启动方式,SpringBoot经常使用注解

SpringBoot介绍

引言

  • 为了使用ssm框架去开发,准备ssm框架的模板配置
  • 为了Spring整合第三方框架,单独的去编写xml文件
  • 致使ssm项目后期xml文件特别多,维护xml文件的成本也是很高的
  • ssm工程部署也是很麻烦,依赖第三方容器
  • ssm开发方式是笨重的

SpringBoot介绍

SpringBoot是由pivota团队开发的,SpringBoot并非一门新技术,只是将以前经常使用的Spring,SpringMVC,data-jpa等经常使用的框架封装到了一块儿,帮助你隐藏这些框架的整合细节,实现敏捷开发
SpringBoot就是一个工具集java

SpringBoot特色:

  1. SpringBoot不须要模块化配置
  2. 在SpringBoot中整合第三方框架时,只须要导入相应的stater依赖包,就自动整合了
  3. SpringBoot默认只有一个.properties的配置文件,不推荐使用xml,后期会采用.java文件去编写信息
  4. SpringBoot工程在部署时,采用的是jar包的方式,内部自动依赖Tomcat容器,提供了多环境的配置
  5. 后期要学习的微服务框架SpringCloud须要创建在SpringBoot的基础上

SpringBoot快速入门

快速构建SpringBoot

文件新建一个项目选择 spring initializr建立一个spring项目

点击下一步,选择须要导入的依赖,我什么都没选,由于我只是写个小Demo

第一次建立SpringBoot工程,下载大量的依赖,要保证maven已经配置了阿里云的私服:git

阿里云私服配置:

cmd中输入mvn -v会显示maven的安装路径
到其安装路径下找到conf文件夹进去找到settings.xml,用文本编辑器打开找到mirrors标签添加以下标签web

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

而后点击finish等待下载完成下载完成后会在,External Labraries中看到默认导入的全部依赖


在xml文件中把spring-boot-starter依赖改成,由于我要建立的是一个web的Demospring

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

直接点击src直到找到java目录而后点到你的Application所在的包在这个包中新建一个Controller在Controller包下建立一个java文件,写入一下内容浏览器

@RestController
@RequestMapping
public class TestController {
  @GetMapping("/test")
  public String test(){
    return "Hello SpringBoot";
  }
}
  • 打开默认建立的Application文件直接点击运行!
  • 若是看到控制台打印以下内容则表示成功
  • 倒数第二行能够看出,访问端口为8080,访问路径为''空在浏览器地址输入
    127.0.0.1:8080/test或者localhost:8080/test
  • 端口号后面为你GetMapping设置的访问路径

SpringBoot的目录结构

pom.xml文件

  1. 指定了一个父工程: 指定当前工程为SpringBoot,,帮助咱们生命了starter依赖版本
  2. 指定项目的元数据: 包名,项目名,版本号
  3. 指定properties信息: 指定java版本为1.8
  4. 导入依赖: 默认状况导入
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
  1. 插件: 默认只有SpringBootMaven插件
<plugin>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-maven-plugin</artifactId>
 </plugin>

.gitignore文件,默认帮咱们忽略了一些文件和目录,防止多余文件推送到git中

src目录,(带-的都是目录)

-mvc
  -main
    -java
      -包名
        启动类.java     #须要将controller类,放在启动类的子包中或者同级包下
    -resources
      -static        #存放静态资源的
      -templates     #存放模板页面的,static和templates文件夹不是自动建立的
      application.properties     #SpringBoot提供的惟一配置文件
  -test

SpringBoot三种启动方式

运行启动类main方法便可运行SpringBoot工程

采用maven的命令运行SpringBoot工程

  1. 首先吧以前的项目关闭
  2. 打开terminal,输入mvn -v检查是否安装了maven环境
  3. 而后在当前项目路径下输入 mvn spring-boot:run
  4. 运行成功

使用打包方式

右侧点击maven,选择package进行打包

打完的包会在target下

经过java -jar jar文件springboot

SpringBoot经常使用注解

@Configuration和@Bean

@Bean就是在SSM中开发时xml文件中的bean,可是SpringBoot中不推荐使用yml文件,
@Configuration注解至关于beans标签
@Bean注解至关于bean标签mvc

@SpringBootApplication就是一个组合注解


而主要注解为这三个
app

  1. @SpringBootConfiguration就是@Configurationzhuje,表明启动类就是一个配置类
  2. @EnableAutoConfiguration帮你实现自动装配,SpringBiit工程启动时,运行一个SpringFactoriesLoader的类,加载META-INF/Spring.factories配置类,经过SpringFactoriesLoader中的load方法,以for循环的方式,一个一个加载
    好处: 无需大量整合配合配置信息,只须要按照SpringBoot提供好了约定整合便可
    坏处: 若是你导入了一个starter依赖那么你就须要填写他必要的配置信息
    手动关闭自动装配指定内容: SpringBootApplication(exculd=QuartzAutoConfiguration.class)
  3. @ComponentScan就至关于扫描包,默认只会扫描当前启动类所在的子包或同包,能够手动添加其余须要被扫描的包
相关文章
相关标签/搜索