springboot 开发入门,及问题汇总

1 . springboot简单介绍(http://projects.spring.io/spring-boot/)

现在的web项目几乎都会用到spring框架,而要使用spring难免需要配置大量的xml配置文件,而springboot的出现解   决了这一问题,一个项目甚至不用部署到服务器上直接开跑,真像springboot所说:“just run”。

springboot的很多默认编码方式都是utf-8,真是福利啊。

org.spring 2013年新开发的框架springboot , 它让一个单独项目的创建变得更加的简单,让所有依赖spring的程序可以做到“jast run”。springboot提供大量第三方libraries让我们可以非常轻松的开始创建一个spring工程,甚至不需要再去配置一些繁琐的xml配置文件

愿景:

1:创建独立的spring应用。

2:嵌入Tomcat, Jetty Undertow 而且不需要部署他们。

3:提供的“starters”poms来简化Maven配置

4:尽可能自动配置spring应用。

5:提供生产指标,健壮检查和外部化配置

6:绝对没有代码生成和XML配置要求

2 . 简单实例演示

都是根据官方文档一点点做的,目前就学了这么一点。

一个简单的helloworld     直接开始run  main方法就可以了  控制台我也不知道都干了什么,好像是开始部署了,

但是没有关联到我的tomcat。

浏览器就能直接访问了。

3 . 步骤详解

*注意事项:1.开发第一个springboot程序最好使用maven来搭建,文档全程也是maven构建。

2.springboot因为是一个最新开发的框架,所以只支持java6以上,java7最好,官方推荐java8。

3.需要maven3.2以上版本支持。

3.支持以下servlet容器              

也可以将springboot程序部署到所有支持servlet3.0以上的容器

#开发第一个springboot应用  HelloWorld

我这里用的MyEclipse10   java 6  maven 3.2.3   tomcat  7.0.55

新建web project  并添加maven支持。

next之后后面要选择javaee 6.0的library   记住不要选上,因为里面的slf4j会跟springboot自带的产生冲突。

#配置pom.xml

 配置pom的时候碰到了很多问题。这里提醒大家一下:

            1.springboot的logback-classes-1.1.2.jar的包下有一个org.slf4j.impl包 这是springboot真正需要的包  而    MyEclipse自带的javaEE6.0library里也有一个slf4j包但它不是springboot所需要的,会一直报NoSuchMethod异常getSingleton()。搞了半天才找到,所以一开始暂时不添加javaEE6.0Library。

            2.这里叫大家一个快速找到class文件真正所处包的方法。

        当无法确定某个类属于哪个包是   可以通过Class.class.getProtectionDomain();来查看

         例如:发生noSuchMethod异常时,但是确实有该方法,一般就是重复加载了jar包。

       3.官方文档的例子都是用java7运行的。不配置<java.version>1.6</java.version>的话可能会报版本异常的错误。具体是啥忘了  类似mirro.minor什么51.0的   50表示jdk1.6   51是jdk1.7

       4.如果也不配置tomcat版本的话springboot默认会使用8.x版本的tomcat。所以要加一个

        <tomcat.version>7.0.55</tomcat.version>来指定你所使用的tomcat版本(视你CATALINA_HOME配置的所定)。

<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>springboot</groupId>
    <artifactId>springboot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>
    <name>springboot</name>
    <description />

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <!-- 这里一定要配置上java的版本,如果是1.7版本的可不用配置 -->
        <java.version>1.6</java.version>
        <!-- 配置你的tomcat版本 -->
        <tomcat.version>7.0.55</tomcat.version>
    </properties>
    <build>
        <plugins>
            <!--如果是通过parent方式继承spring-boot-starter-parent则不用此插件
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            -->
        </plugins>
    </build>
    <!-- 父依赖 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.2.2.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <!-- 导入jar包 -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
</project>

#编写java代码

package com.i.springboot.controller;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@EnableAutoConfiguration
public class FirstController {
    
    @RequestMapping(value="/")
    String home(){
        return "helloworld";
    }
    
    public static void main(String[] args) throws Exception {
        SpringApplication.run(FirstController.class, args);
    }
    
}

完成后运行main程序无报错则运行成功。在浏览器输入相应的路径即可获得@RequestMapping返回的数据。

时间: 2024-10-09 11:06:07

springboot 开发入门,及问题汇总的相关文章

转载--springboot 开发入门,及问题汇总

原文地址:https://my.oschina.net/jkcui/blog/388400 1 . springboot简单介绍(http://projects.spring.io/spring-boot/) 现在的web项目几乎都会用到spring框架,而要使用spring难免需要配置大量的xml配置文件,而springboot的出现解   决了这一问题,一个项目甚至不用部署到服务器上直接开跑,真像springboot所说:"just run". springboot的很多默认编码方

移动H5开发入门知识,CSS的单位汇总与用法

说到css的单位,大家应该首先想到的是px,也就是像素,我们在网页布局中一般都是用px,但是近年来自适应网页布局越来越多,em和百分比也经常用到了.然后随着手机的流行,web app和hybrid app的开发,都用到了css3技术,在css3中,新增了许多单位,rem.vw和vh.vmin和vmax.ch和ex等等,那现在对这些单位分别做一下详细的介绍吧. 1.em 做前端的应该对em不陌生,不是什么罕见的单位,是相对单位,参考物是父元素的font-size,具有继承的特点.如果字体大小是16

H5移动端开发入门知识以及CSS的单位汇总与用法

说到css的单位,大家应该首先想到的是px,也就是像素,我们在网页布局中一般都是用px,但是近年来自适应网页布局越来越多,em和百分比也经常用到了.然后随着手机的流行,web app和hybrid app的开发,都用到了css3技术,在css3中,新增了许多单位,rem.vw和vh.vmin和vmax.ch和ex等等,那现在对这些单位分别做一下详细的介绍吧. 1.em 做前端的应该对em不陌生,不是什么罕见的单位,是相对单位, 这种技术需要一个参考点,一般都是以<body>的“font-siz

【转】机器学习最佳入门学习资料汇总

机器学习最佳入门学习资料汇总 专为机器学习初学者推荐的优质学习资源,帮助初学者快速入门. 这篇文章的确很难写,因为我希望它真正地对初学者有帮助.面前放着一张空白的纸,我坐下来问自己一个难题:面对一个对机器学习领域完全陌生的初学者,我该推荐哪些最适合的库,教程,论文及书籍帮助他们入门? 资源的取舍很让人纠结,我不得不努力从一个机器学习的程序员和初学者的角度去思考哪些资源才是最适合他们的. 我为每种类型的资源选出了其中最佳的学习资料.如果你是一个真正的初学者,并且有兴趣开始机器学习领域的学习,我希望

开发技术文档汇总

开发技术文档汇总:(持续更新) 1 Underscore 中文文档    github地址   英文文档 2 Express中文文档   github地址 3 Backbone中文文档 Backbone英文文档   github地址 4 Jquery中文文档(适合1.0--2,0) 5 Bootstrap中文 6 Less中文 7 NodeJs中文API 8 node.js相关的中文文档及教程 9 ECMAScript262中文兼容库 10 浏览器hacks 11 Rapheal中文   相关文

[转载]HTML5开发入门经典教程和案例合集(含视频教程)

http://www.iteye.com/topic/1132555 HTML5作为下一代网页语言,对Web开发者而言,是一门必修课.本文档收集了多个HTML5经典技术文档(HTML5入门资料.经典)以及游戏开发案例以及教学视频等,帮助同学们掌握这门重要的技术. 资源名称                                资源地址 WEB新技术:HTML5介绍 http://down.51cto.com/data/385440 HTML5跨平台游戏开发 http://down.51c

SpringData 基于SpringBoot快速入门

SpringData 基于SpringBoot快速入门 本章通过学习SpringData 和SpringBoot 相关知识将面向服务架构(SOA)的单点登录系统(SSO)需要的代码实现.这样可以从实战中学习两个框架的知识,又可以为单点登录系统打下基础.通过本章你将掌握 SpringBoot项目的搭建,Starter pom的使用,配置全局文件,核心注解SpringBootApplication 介绍以及单元测试 SpringBootTest注解的使用.SpringData 的入门使用,Repos

SpringBoot 初入门

SpringBoot 初入门 关于介绍什么之类的就不讲了,主要做一下学习记录. 1. 启动方式 IDEA 启动 命令行启动: mvn spring-boot:run 部署到服务器启动: 先进行打包, mvn clean package 移动到项目的 target 目录下,可以看到一个后缀名为 jar 的文件,便是刚刚我们打包的 jar 包, 使用命令行启动: java -jar target/luckymoney-0.0.1-SNAPSHOT.jar 传参方式启动: java -jar -Dsp

史上最简单的个人移动APP开发入门--jQuery Mobile版跨平台APP开发

书是人类进步的阶梯. ——高尔基 习大大要求新新人类要有中国梦,鼓励大学生们一毕业就创业.那最好的创业途径是什么呢?就是APP.<构建跨平台APP-jQuery Mobile移动应用实战>就是一本写给没钱没身份没资历的创业小白看的APP书,看完这本书你可以拥有自己的一个APP,不用花钱就能移植到其他移动平台,支持iOS,Android,Windows Phone!!!!!!!!找个最便宜的来练手吧!  小白APP交流Q群:  348632872 清华大学出版社推出的<构建跨平台APP:j