【SpringBoot系列】一:5分钟构建第一个SpringBoot工程

来源:互联网 发布:新锐软件易制毒电话 编辑:程序博客网 时间:2024/04/29 22:56

简介:

SpringBoot是伴随着Spring4.0诞生的;从字面理解,Boot是引导的意思,因此SpringBoot的宗旨就是简化开发,帮助开发者快速搭建Spring项目;

Spring Boot并不是一门新技术,可以说它继承于Spring。对于熟悉Spring的人来说入手门槛几乎为0,SpringBoot仅仅是对咱们经常做的一些Spring配置做了提炼,封装成了一个个注解;将经常引用的一些jar包整合到一起。使我们仅仅引用几个依赖可以快速的创建一个可运行的web项目,这就是其所谓的“习惯优于配置”的理念。

关于SpringBoot和传统SSM,SSH框架的比较,功能都是一样的,便于我们开发web工程,是不过在效率和方便性上有所区别,就好比Idea和Eclipse,反正我用过Idea一段时间后,很难再回到Eclipse。。


建构工程:

环境准备:

-jdk 1.8或以上(jdk1.6或1.7虽然也可以,但是不推荐,需要额外的配置)
-maven 3.0+
-Idea

开始构建项目

构建一个Sping Boot的Maven项目,强烈推荐Spring Initializr,它从本质上来说就是一个Web应用程序,它能为你生成Spring Boot项目结构。

Spring Initializr有2种用法:

1. 通过Web界面使用

1)访问:http://start.spring.io/

2)选择构建工具Maven Project、Spring Boot版本1.5.4以及一些工程基本信息,可参考下图所示

图片名称

点击Generate Project下载项目压缩包

导入工程到IDEA即可。

2.通过idea创建

IntelliJ IDEA 14.1已经支持Spring Boot了,创建Spring Boot操作步骤如下:

打开Idea-> new Project ->Spring Initializr ->填写group、artifact ->钩上web(开启web功能)->点下一步->FInish 就行了。


工程目录

创建完工程,工程的目录结构如下:

图片名称

pom.xml 基本的依赖管理文件
resouces 资源文件
statics 静态资源
templates 模板资源
application.properties 一个空的properties文件,你可以根据需要添加配置属性。
SpringbootSimpleApplication 一个带有main()方法的类,用于启动应用程序。
SpringbootSimpleApplicationTests 一个空的Junit测试类。


解析pom.xml

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <groupId>com.erniu</groupId>    <artifactId>springboot-simple-application</artifactId>    <version>0.0.1-SNAPSHOT</version>    <packaging>jar</packaging>    <name>springboot-simple-application</name>    <description>Demo project for Spring Boot</description>    <parent>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-parent</artifactId>        <version>1.5.4.RELEASE</version>        <relativePath/> <!-- lookup parent from repository -->    </parent>    <properties>        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>        <java.version>1.8</java.version>    </properties>    <dependencies>        <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>        </dependency>    </dependencies>    <build>        <plugins>            <plugin>                <groupId>org.springframework.boot</groupId>                <artifactId>spring-boot-maven-plugin</artifactId>            </plugin>        </plugins>    </build></project>


Spring Boot父级依赖:spring-boot-starter-parent

有了这个Spring Boot父级依赖,就表示当前项目就是Spring Boot项目了,spring-boot-starter-parent是一个特殊的starter,它用来提供相关的Maven默认依赖,使用它之后,常用的包依赖可以省去version标签。关于Spring Boot提供了哪些jar包的依赖,可查看本地maven仓库,xxx\repository\org\springframework\boot\spring-boot-dependencies\1.5.4.RELEASE\spring-boot-dependencies-1.5.1.RELEASE.pom,当然如果SpringBoot提供的依赖版本不是你需要的,可以声明其他版本的依赖覆盖掉。

起步依赖 spring-boot-starter-web

Spring Boot提供了很多”开箱即用“的依赖模块,都是以spring-boot-starter-xx作为命名的。这个开箱即用,体现了SpringBoot的方便之处,举个栗子:之前在用SpringMVC的时候,需要做很多的配置和引入各种需要的依赖,当依赖版本不匹配的时候,会出现各种莫名其妙的问题;而使用spring-boot-starter起步模块开箱即用,自动封装所需功能的依赖,starter在手,天下我有。

编写代码

创建restAPI(Controller):

import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RestController;/** * Created by qianqian.niu on 2017/6/27. */@RestController//该注解等价于@Controller+@ResponseBody的结合,使用这个注解的类里面的方法都以json格式输出。public class HelloController {    @GetMapping("/simple/{id}")    public String findById(@PathVariable Long id) {        return "hello erniu:" + id;    }}


创建启动类:

import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication//Sprnig Boot项目的核心注解,主要目的是开启自动配置。后续讲解原理的时候再深入介绍public class SpringbootSimpleApplication {    //该main方法作为项目启动的入口    public static void main(String[] args) {        SpringApplication.run(SpringbootSimpleApplication.class, args);    }}

启动SpringbootFirstApplication的main方法,打开浏览器localhost:8080/simple/111,浏览器显示:

图片名称


启动springboot 的三种方式

1. main方法启动
2. 使用maven命令 mvn spring-boot:run 在命令行启动该应用
3. java -jar 命令启动,需要先运行“mvn package”进行打包


结语:

这么简单的一个实例,搞起来用不了5分钟,和之前SpringMVC各种麻烦配置相比简直了。。
没有任何web.xml配置,没有任何spring.mvc配置,也没有配置tomcat容器,也没有各种依赖配置。。。
本篇博客作为Spring Boot的入门介绍,需要关注的点也就这么几个:
Spring Boot是什么东西
父级依赖的作用
起步依赖的概念
应用入口类的作用


源码下载:http://download.csdn.net/detail/u010028869/9883487

阅读全文
3 0
原创粉丝点击