SpringBoot之基础入门-专题一

SpringBoot之基础入门-专题一

1、Spring介绍

1.一、SpringBoot简介

在初次学习Spring整合各个第三方框架构建项目的时候,每每会有一大堆的XML文件的配置,众多的dtd或者schema约束,资源文件的管理也是很凌乱,并且还有个更蛋疼的地方就是版本的迭代问题,而且tomcat的启动加载速度真的10s等的难受。SpringBoot 是一个快速开发的框架,可以快速的整合第三方框架,简化XML配置,所有采用注解形式,内置Tomcat容器,帮助开发者可以实现快速开发,SpringBoot的Web组件 默认集成的是SpringMVC框架。Spring Boot让咱们的Spring应用变的更轻量化。好比:你能够仅仅依靠一个Java类来运行一个Spring引用。你也能够打包你的应用为jar并经过使用java -jar来运行你的Spring Web应用。java

Spring Boot的主要优势:

为全部Spring开发者更快的入门web

开箱即用,提供各类默认配置来简化项目配置spring

内嵌式容器简化Web项目apache

没有冗余代码生成和XML配置的要求浏览器

本章主要目标完成Spring Boot基础项目的构建,而且实现一个简单的Http请求处理,经过这个例子对Spring Boot有一个初步的了解,并体验其结构简单、开发快速的特性。tomcat

1.二、系统要求:

JavaJDK1.8及以上springboot

Spring Framework 4.1.5及以上架构

Eclipseapp

本文采用Java JDK 1.八、Spring Boot 2.0版本调试经过。框架

1.三、SpringBoot和SpringMVC区别

SpringBoot 是一个快速开发的框架,可以快速的整合第三方框架,简化XML配置,所有采用注解形式,内置Tomcat容器,帮助开发者可以实现快速开发,SpringBoot的Web组件 默认集成的是SpringMVC框架。

SpringMVC是控制层。

1.四、SpringBoot和SpringCloud区别

SpringBoot 是一个快速开发的框架,可以快速的整合第三方框架,简化XML配置,所有采用注解形式,内置Tomcat容器,帮助开发者可以实现快速开发,SpringBoot的Web组件 默认集成的是SpringMVC框架。

SpringMVC是控制层。

SpringCloud依赖与SpringBoot组件,使用SpringMVC编写Http协议接口,同时SpringCloud是一套完整的微服务解决框架。

1.五、常见错误

Eclipse 下载SpringBoot2.0以上版本,pom文件报错解决办法

org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)

相关网址: http://bbs.itmayiedu.com/article/1527749194015

2、快速入门

2.一、建立一个Maven工程

名为”springboot-helloworld” 类型为Jar工程项目

2.二、pom文件引入依赖

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.0.RELEASE</version>
</parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

spring-boot-starter-parent做用

在pom.xml中引入spring-boot-start-parent,spring官方的解释叫什么stater poms,它能够提供dependency management,也就是说依赖管理,引入之后在申明其它dependency的时候就不须要version了,后面能够看到。

spring-boot-starter-web做用

springweb 核心组件

spring-boot-maven-plugin做用

若是咱们要直接Main启动spring,那么如下plugin必需要添加,不然是没法启动的。若是使用maven 的spring-boot:run的话是不须要此配置的。(我在测试的时候,若是不配置下面的plugin也是直接在Main中运行的。)

2.三、编写HelloWorld服务

建立package命名为com.example.controller(根据实际状况修改)

建立HelloController类,内容以下

@RestController
@EnableAutoConfiguration
public class HelloController {
	@RequestMapping("/hello")
	public String index() {
		return "Hello World";
	}	
public static void main(String[] args) {
		SpringApplication.run(HelloController.class, args);
	}
}

2.四、@RestController

在上加上RestController 表示修饰该Controller全部的方法返回JSON格式,直接能够编写

Restful接口

2.五、@EnableAutoConfiguration

注解:做用在于让 Spring Boot 根据应用所声明的依赖来对 Spring 框架进行自动配置

这个注解告诉Spring Boot根据添加的jar依赖猜想你想如何配置Spring。因为spring-boot-starter-web添加了Tomcat和Spring MVC,因此auto-configuration将假定你正在开发一个web应用并相应地对Spring进行设置。

2.6 SpringApplication.run(HelloController.class, args);

标识为启动类

2.七、SpringBoot启动方式1

Springboot默认端口号为8080

@RestController
@EnableAutoConfiguration
public class HelloController {
	@RequestMapping("/hello")
	public String index() {
		return "Hello World";
	}	
public static void main(String[] args) {
		SpringApplication.run(HelloController.class, args);
	}
}

启动主程序,打开浏览器访问http://localhost:8080/index,能够看到页面输出Hello World

2.八、SpringBoot启动方式2

@ComponentScan(basePackages = “com.example.controller”)—控制器扫包范围

@ComponentScan(basePackages = "com.example.controller")
@EnableAutoConfiguration
public class App {
	public static void main(String[] args) {
		SpringApplication.run(App.class, args);
	}
}

2.九、SpringBoot启动方式3

@SpringBootApplication

@SpringBootApplication
public class SpringBootApp {

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

}

@SpringBootApplication 被 @Configuration、@EnableAutoConfiguration、@ComponentScan 注解所修饰,换言之 Springboot 提供了统一的注解来替代以上三个注解

扫包范围:在启动类上加上@SpringBootApplication注解,当前包下或者子包下全部的类均可以扫到。

相关文章
相关标签/搜索