Spring Boot基础知识(一)----如何构建spring boot的web项目

1.学习必要:

(1)spring cloud是一个基于spring boot构建的架构开发工具,spring boot是基础
(2)自身各项优点:自动化配置,快速开发,轻松部署等,轻松整合

包括:
不重写spring配置,通过设计大量的自动化配置等方式简化spring原有样板化配置,快速构建应用;
通过一系列Starter POMS的定义,整合各项功能时,不需要再maven的pom.xml中维护错综复杂的依赖关系,而是通过类似模板化的starter模块定义引用,
使依赖关系变简单;
很好融入Docker,自身支持嵌入式Tomcat,Jetty等容器,不需要再安装Tomcat,将应用打包成war,再部署到Tomcat这样负责的构建与部署动作,只需将
spring boot应用打成jar,并通过java -jar命令直接运行就能启动一个标准化的web应用;
开发环节中,整个spring boot的生态系统都是用到了Groovy,完全可以通过使用Gradle和Groovy来开发spring boot应用:
下面示例通过编译打包后,使用java -jar命令就能启动一个返回hello的RESTful API

@RestController
class APP{
    @RequestMapping("/")
    String home(){
        return "hello";
    }
}

2.学习内容:

(1)如何构建spring boot项目
(2)如何实现RESTful API接口
(3)如何实现多环境的spring boot应用配置
(4)深入理解spring boot配置的启动机制
(5)spring boot应用的监控与管理

3.环境依赖:

JDK v1.6或更高:检查当前java安装版本: $ java -version 建议1.8
类路径中包含适当的spring-boot-*.jar文件即可,不需要任何特殊工具继承,虽然如此,通常建议支持依赖管理的构建工具,例如Maven:http://maven.apache.org安装
检查maven是否安装成功:$ mvn -v

开始——->

一、如何构建spring boot项目

(1)这里是一个Maven依赖工具构建实例

此实例来源于springboot在线文档: http://docs.spring.io/spring-boot/docs/current/reference/html/
new—> Project—>Maven Project—>Catalog:All Catalogs
Filter:选择org.apache.maven.archetypes:maven-archetype-webapp 1.0 此时看到pom文件内嵌jstl等web基本依赖,可以在创建项目于
完毕后$ mvn dependency:tree显示项目所有依赖
—–>填入项目相关信息

典型pom.xml文件:(这里只展示基本使用,具体可查阅spring boot官方网站https://spring.io来学习相关资料)

(2)这里展示一个小例子,正如我们这个demo1.Example.java展示的那样:


import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;

@RestController
@EnableAutoConfiguration
public class Example {

    @RequestMapping("/")
    String home() {
        return "Hello World!"; 
    }

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

}

注解释义:
1.@RestController:构造型注释,为阅读代码的人提供了提示,对于spring来说,该类扮演了一个特定的角色,在此情况下,这个类是一个web
相当于@Controller,因此spring会在处理传入的网络请求时考虑它
2.@RequestMapping(“/”):告诉spring任何带有路径”/”的HTTP请求应该映射到home方法,然后@RestController会告诉spring将生成的
字符串直接返回给调用者

以上两个注释是spring mvc的注释

3.@EnableAutoConfiguration:告诉spring boot“猜测”将如何配置spring,基于添加的jar依赖,由于
spring-boot-starter-web添加了Tomcat和spring MVC,因此自动配置将假设正在开发一个web应用程序并相应地设置spring

此配置体现了spring boot的自动化配置优点

主方法:
应用程序的最后一部分是主(主)方法。
这只是一个遵循Java约定的应用程序入口点的标准方法main方法通过调用run来委托Spring Boot SpringApplication类。
SpringApplication将引导应用程序,启动Spring,从而启动自动配置Tomcat Web服务器。传递需要Example.class作为run方法的参数来告诉
SpringApplication,这是主要的弹簧组件。args数组也被传递以暴露任何命令行参数。

在此文件上(Example.java)右键run as启动项目后,如果打开浏览器访问http:localhost:8080
应该会看到:
hello world!
要正常退出应用程序,请按ctrl-c。

(3)希望创建一个可执行的jar/war,执行启动此项目

支持可执行的jar需要添加依赖spring-boot-maven-plugin:
在dependencies部分下面插入以下行:

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

因为POM中spring-boot-starter-parent包括配置以绑定repackage目标。如果不使用父POM,则需要自己声明此配置。

命令行运行命令mvn package:

在target目录中,应该看到一个myproject-0.0.1-SNAPSHOT.jar。

文件文件大小应为10 Mb。左右如果想看里面内容,可以使用jar tvf:

$ jar tvf target/myproject-0.0.1-SNAPSHOT.jar

贝壳
应该在target目录中看到一个名为myproject-0.0.1-SNAPSHOT.jar.original的文件。
这是Maven在Spring Boot重新打包之前创建的原始jar文件。
要运行该应用程序,请使用java -jar命令:
$ java -jar target/myproject-0.0.1-SNAPSHOT.jar
如果打开浏览器访问http:localhost:8080
应该会看到:
hello world!
要正常退出应用程序,请按ctrl-c。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值