SpringBoot学习历程(一):简单入门

前言

  • 本人github仓库地址:https://github.com/RabbitsInTheGrass/springBoot-Learning

SpringBoot简单入门

Spring Boot好处: 。。。。。一大堆,本人就不罗列了。

1.1 准备工作

  1. JDK 1.8+
  2. Maven 3.2+ (3.6.1安装教程
  3. IntelliJ IDEA(2019.2.2安装教程
    注意:
    JDK 安装、Maven 安装、Git 安装和 IntelliJ IDEA 开发工具安装可参照对应教程链接。

1.2 创建一个Spring Boot工程

其实 Spring Boot 工程本质上就是一个 Maven 工程,这里说下两种不同的创建方式:

1.2.1 在线创建

这是官方提供的创建方法,使用http://start.spring.io/来构建一个简单的Spring Boot项目。

  1. 访问:http://start.spring.io/
  2. 选择构建工具 Maven Project、Java、Spring Boot 版本 2.1.8 以及一些工程基本信息,可参考下图所示:SpringInitializr
  3. 点击Generate Project下载项目压缩包
  4. 导入到你的工程,如果是IDEA,则需要:
    a.菜单中选择File–>New–>Project from Existing Sources…
    b.选择解压后的项目文件夹,点击OK。
    c.点击Import project from external model并选择Maven,点击Next到底为止。
    d.选择Java SDK为jdk1.8。

1.2.2 IDEA创建

菜单中选择File–>New–>Project,选择Spring Initializr,然后如下图操作:
1
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2.3 项目结构

在这里插入图片描述
java 目录中是编写代码的源目录,test 目录是编写单元测试的目录。
resources 目录会有 application.properties 应用配置文件,还有默认生成的 static 和 templates 目录,static 用于存放静态资源文件,templates 用于存放模板文件。可以在 application.properties 中自定义配置资源和模板目录。
pom.xml:Maven构建说明文件。

1.3 解析pom.xml

1.3.1 spring boot 父级依赖

<!-- Spring Boot 启动父依赖 -->
 <parent>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-parent</artifactId>
     <version>2.1.8.RELEASE</version>
     <relativePath /> <!-- lookup parent from repository -->
 </parent>

这是Spring Boot父级依赖,parent它继承自 spring-boot-dependencies,这个里边定义了依赖的版本,也正是因为继承了这个依赖,所以我们在写依赖时才不需要写版本号。

1.3.2 spring-boot-starter-xx 启动依赖

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

Spring Boot提供了很多”开箱即用“的依赖模块,都是以spring-boot-starter-xx作为命名的,通过提供众多起步依赖降低项目依赖的复杂度。

1.3.3 Spring Boot Maven插件

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

把项目打包成一个可执行的jar。

1.4 应用类

1.4.1启动应用类

@SpringBootApplication
public class LearnApplication {

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

}

@SpringBootApplication,这是一个组合注解,主要包含了:

  1. @SpringBootConfiguration(包含@Configuration),也是一个组合注解
    在Spring Boot项目中替代@Configuration
  2. @EnableAutoConfiguration,Spring Boot的强大之处,
    该注解会使spring boot根据项目的jar包进行自动配置,查看maven依赖
    可以看到有一个spring-boot-autoconfigure-xxx.jar,这里有很多spring配置类,
    如:我们添加了spring-boot-starter-web, 项目中自动引入SpringMVC 的相关jar,Spring Boot就自动配置tomcat和springMVC相关bean
  3. @ComponentScan,默认扫描@SpringBootApplication所在类目录及它的子目录

@SpringBootApplication的exclude属性:关闭配置,
如果我们在项目中引入了solrj的相关包,spring boot会自动为我们创建solr
的相关bean,但有时候我们希望自己配置bean,这时可以这样:
@SpringBootApplication(exclude={SolrAutoConfiguration.class})
这样就可以自己写java spring 配置类或xml,配置solr的相关bean了
同样的,如果你不想引入Spring Boot默认的依赖可以在pom.xml中使用标签,看下图:
在这里插入图片描述

1.4.2 Controller类

@RestController
@RequestMapping("/home")
public class HomeController {
	.....
}
  1. @RestController:提供实现了REST API,可以服务JSON,XML或者其他。
  2. @RequestMapping:提供路由映射信息。

猜你喜欢

转载自blog.csdn.net/RabbitInTheGrass/article/details/101691657
今日推荐