spring-boot之入门实践

spring-boot是spring的一种微服务框架,spring-boot的出现是为了解决以往spring项目中xml文件繁琐的配置。具体介绍参考:http://docs.spring.io/spring-boot/docs/1.4.0.M2/reference/htmlsingle/

这里主要记录下spring-boot的简单应用:

spring-boot支持主流的构建工具,包括ant、maven、gradle等,这里使用maven。

首先创建一个maven web project,创建完之后,如下:

然后新建SampleController类,包含在hello package下,SampleController主要代码:

package hello;

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

@Controller
@EnableAutoConfiguration
public class SampleController {

    @RequestMapping("/")
    @ResponseBody
    String home() {
        return "Hello World!";
    }
    
    public static void main(String[] args) throws Exception {
        SpringApplication.run(SampleController.class, args);
    }
}

其实基本的注解spring里都有,主要在main方法里,spring-boot直接嵌入 Tomcat 或 Jetty 服务器,调用run方法后直接启动相应容器,具体参考:http://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/

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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.spring.test</groupId>
    <artifactId>SpringBootTest</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>SpringBootTest Maven Webapp</name>
    <url>http://localhost:8080/SpringBootTest</url>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.2.5.RELEASE</version>
        <relativePath />
    </parent>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>

        <!-- http://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>
        

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

    </dependencies>
    <build>
        <finalName>SpringBootTest</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>hello.SampleController</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

注意这里一定记得配置mainClass属性,否则启动后会报找不到主类错误。。。

完后命令行键入:mvn spring-boot:run,启动spring-boot,从而启动容器:

然后浏览器直接访问:

这样一个简答spring-boot应用就完了,踩过一个大坑,就是我启动run的时候一直报“找不到内嵌的tomcat容器”之类的错误,最后发现是pom.xml文件里的servlet-api版本给低了,修改后即可:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏pangguoming

Spring Boot 集成Shiro和CAS

Spring Boot 集成Shiro和CAS 请大家在看本文之前,先了解如下知识点:  1、Shiro 是什么?怎么用?  2、Cas 是什么?怎么用?  3...

7195
来自专栏阿杜的世界

Spring+Velocity+Mybatis整合笔记(step by step)

开发过程中使用的操作系统是OS X,关于软件安装的问题请大家移步高效的Mac环境设置。 本文是我对自己学习过程的一个回顾,应该还有不少问题待改进,例如目录的设...

611
来自专栏walterlv - 吕毅的博客

WPF 跨应用程序域的 UI(Cross AppDomain UI)

发布于 2017-11-12 16:36 更新于 2017-11...

522
来自专栏有趣的Python

(旧) 1- 大家一起学:Flask构建弹幕微电影网站-(一)-(三)合集:数据模型设计映射成表Flask 构建微电影视频网站

Flask 构建微电影视频网站 已上线演示地址: http://movie.mtianyan.cn 项目源码地址:https://github.com/mti...

3815
来自专栏阿杜的世界

Spring Boot的自动配置、Command-line Runner

接下来关于SpringBoot的一系列文章和例子,都来自《Spring Boot Cookbook》这本书,本文的主要内容是start.spring.io的使用...

632
来自专栏编程

SpringBoot模块组成

1.1、 spring-boot模块 该模块提供了一些特性用来支持springboot中其他模块,这些特性包含如下。 SpringApplication类提供了...

1786
来自专栏恰同学骚年

ASP.Net MVC开发基础学习笔记:一、走向MVC模式

  在传统的WebForm模式下,我们请求一个例如http://www.aspnetmvc.com/blog/index.aspx的URL,那么我们的WebFo...

793
来自专栏张善友的专栏

ASP.NET MVC 2示例Tailspin Travel UI层分析

Tailspin Travel 是一个旅游预订的应用程序示例,最新版本采用ASP.NET MVC 2技术构建,主要使用 DataAnnotations 验证, ...

1929
来自专栏互联网开发者交流社区

SpringBoot

984
来自专栏c#开发者

asp.net MVC 5 Scaffolding多层架构代码生成向导开源项目(邀请你的参与)

Visual Studio.net 2013 asp.net MVC 5 Scaffolding代码生成向导开源项目 提高开发效率,规范代码编写,最好的方式就是...

3237

扫码关注云+社区