Springboot的第一个程序

Springboot的率先个程序

一、什么是Springboot

乘势动态语言的风行(Ruby、Groovy、Scala、Node.js),Java的开销显得尤其的笨重:繁多的布置、低下的支付功效、复杂的布局流程以及第贰方技术集成难度大。在上述条件下,Springboot应运而生。它使用”习惯优于配备”(项目中留存大气的布置,其余还内置一个习惯性的布署,让您绝不手动进行布局)的视角让你的档次快捷运维起来。使用springboot很简单创制三个单身运作(运维jar,内嵌servlet容器)、准生育级别的依据Spring框架的门类,使用springboot你可以毫不只怕只须要很少的Spring配置。

贰 、Springbot的优缺点

优点:

1.快速构建项目;
2.对主流开发框架的无配置集成;
3.项目可独立运行,无须外部依赖servlet容器;
4.提供运行时的应用监控;
5.极大地提高了开发、部署效率;
6.与云计算的天然集成。

缺点:

1.书籍文档较少且不够深入;
2.如果你不认同Spring框架,这也许是它的缺点,但建议你一定要使用Spring框架。

③ 、Springboot入门程序

(1)设置spring boot的parent

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.2.RELEASE</version>
</parent>

申明:Spring boot的品种必供给将parent设置为spring
boot的parent,该parent包涵了汪洋私自认同的布署,大大简化了咱们的开销。

(2)导入spring boot的web支持

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

(3)添加Spring boot的插件

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

即pom.xml:

<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>
  <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.2.RELEASE</version>
    </parent>
  <groupId>com.hcx.springboot</groupId>
  <artifactId>hcx-springboot</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.3.7.RELEASE</version>
        </dependency>
        <!-- 连接池 -->
        <dependency>
            <groupId>com.jolbox</groupId>
            <artifactId>bonecp-spring</artifactId>
            <version>0.8.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

</dependencies>
    <build>
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <!-- 资源文件拷贝插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <!-- java编译插件 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>

        </plugins>
        <pluginManagement>
            <plugins>
                <!-- 配置Tomcat插件 -->
                <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                </plugin>
            </plugins>
        </pluginManagement>
  </build>
</project>

(4)编写第③个Spring Boot的拔取

package com.hcx.springboot.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@SpringBootApplication //声明这是一个springboot的应用
@Configuration //声明该类为一个配置类
public class HelloApplication { 
    //springboot的项目命名中,一般都有一个xxxApplication类,该类作为springboot项目的入口类

    @RequestMapping("hello")
    @ResponseBody
    public String hello(){
        return "hello world";
    }

    public static void main(String[] args) {
        /**
         * 第一个参数:要运行的应用(该应用一定要包含@SpringBootApplication注解)
         * 第二个参数:直接用args,也可以指定内置参数
         */
        SpringApplication.run(HelloApplication.class, args);
    }

}

代码表明:

1、@SpringBootApplication:Spring Boot项目的核心注解,主要目的是开启自动配置;
2、@Configuration:这是一个配置Spring的配置类;
3、@Controller:标明这是一个SpringMVC的Controller控制器;
4、main方法:在main方法中启动一个应用,即:这个应用的入口;

(5)运营应用

在Spring Boot项目中,运转的法子有二种,一种是直接run Java
Application此外一种是由此Spring Boot的Maven插件运营。

第一种:

第③种运行格局.png

第二种:

第②种运转形式.png

运行作用:

启航效果.png

观察如下消息就印证运营成功了:

INFO 6188 --- [           main] c.i.springboot.demo.HelloApplication     : Started HelloApplication in 3.281 seconds (JVM running for 3.601)

(6)测试

开拓浏览器,输入地方:127.0.0.1:8080/hello

启动.png

效果.png

相关文章