Spring Boot 入门

  • Post author:
  • Post category:其他


一 :创建Spring Boot 与环境搭建

1、Spring Boot简介

简化Sping应该开发的框架

做个Sping技术栈的一个大整合

J2EE开发的一站式解决方案

2、微服务

微服务是一种架构风格

一个应用应该是一组小型服务;可以通过Http方式进行互通;

单体应用:All In ONE

环境约束

-jdk1.8 (或者以上)

-maven3.x

-SpringBoot 1.5.9

-开发工具 IntelliJ IDEA

3、MAVEN设置:

给maven 的setting.xml 配置文件的profiles标签添加

<profile>

<id>jdk-1.8</id>

<activation>

<activeByDefault>true</activeByDefault>

<jdk>1.8</jdk>

</activation>

<properties>

<maven.compiler.source>1.8</maven.compiler.source>

<maven.compiler.target>1.8</maven.compiler.target>

<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>

</properties>

</profile>

4、IDE设置(我用的是IntelliJ IDEA)

在IDE中配置maven地址 ;如下图所示

五、创建一个maven工程;(jar)

进入到IntelliJ IDEA,点击“Create New Project” ,进入到New Project 页面,选择相应的JDK,然后一步一步创建

六、导入依赖Spring Boot相关的依赖

<!– Inherit defaults from Spring Boot –>

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>1.5.19.RELEASE</version>

</parent>

<!– Add typical dependencies for a web application –>

<dependencies>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

七、编写一个主程序:启动Spring Boot应用

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

/**

* @SpringBootApplication 来标注一个主程序类,说明这是一个Sping Boot应用

*

* */

@SpringBootApplication()

public class HelloWorldMainApplication {

public static void main(String[] args){

//Sping应用启动起来

SpringApplication.run(HelloWorldMainApplication.class,args);

}

}

8、编写相关的Controller、Service

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.ResponseBody;

@Controller

public class HelloController {

@ResponseBody

@RequestMapping(“/hello”)

public String hello(){

return “Hello World!!”;

}

}

简化部署

9、jar包运行Spring Boot,先在pom文件中增加

<!– 这个插件可以将应用打印成一个可执行的jar包–>

<build>

<plugins>

<plugin>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-maven-plugin</artifactId>

</plugin>

</plugins>

</build>

然后在IDE中操作如下

然后终端运行

二、Hello World 探究

1、POM文件

导入了一个父项目

<!– 继承 Spring Boot –>

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>1.5.19.RELEASE</version>

</parent>

他的父项目是:

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-dependencies</artifactId>

<version>1.5.19.RELEASE</version>

<relativePath>../../spring-boot-dependencies</relativePath>

</parent>

他是来真正的管理Spring Boot 应用里面的所有依赖;

Spring Boot的版本的仲裁中心,以后我们倒入依赖默认不需要写版本;(没有在dependencies里面管理依赖需要声明版本号)

2、启动器

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

spring-boot-starter-web

spring-boot-starter : spring-boot场景选择器;帮我们导入web模块正常运行所依赖的组建;

Sping Boot 将所有的功能场景都抽取出来,做成一个个的starter(启动器),只需要在项目引入这些starter相关场景的所有依赖都会导入进来,要用什么功能,就导入什么场景的启动器

3、主程序类,主入口类

/**

* @SpringBootApplication 来标注一个主程序类,说明这是一个Sping Boot应用

*

* */

@SpringBootApplication

public class HelloWorldMainApplication {

public static void main(String[] args){

//Sping应用启动起来

SpringApplication.run(HelloWorldMainApplication.class,args);

}

}

@SpringBootApplication : Spring Boot 应用标注在某个说明上说明这个类是spring boot 的主配置类,Spring Boot就应该运行这个类的main方法来启动Spring Boot应用

@Target(ElementType.TYPE)

@Retention(RetentionPolicy.RUNTIME)

@Documented

@Inherited

@SpringBootConfiguration

@EnableAutoConfiguration

@ComponentScan(excludeFilters = {

@Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),

@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })

public @interface SpringBootApplication {

@SpringBootConfiguration :

Spring Boot的配置类 ;在某个类上,表示这是一个Spring Boot的配置类

@Configuration : 配置类上来标注这个注解;

配置类………配置文件;配置类也是容器中的一个组件;@Component

@EnableAutoConfiguration :开启自动配置功能;

以前我们需要配置的东西,Spring Boot 帮助我们自动配置;@EnableAutoConfiguration告诉SpringBoot 开启自动配置功能;这样自动配置才能生效

@AutoConfigurationPackage

@Import(EnableAutoConfigurationImportSelector.class)

public @interface EnableAutoConfiguration {

@AutoConfigurationPackage : 自动配置包

@Import(EnableAutoConfigurationImportSelector.class):Spring 底层注解@import,给容器导入一个组件;导入的组件由EnableAutoConfigurationImportSelector.class