1.Spring Boot简介

wiki上的介绍:

Spring Boot是Spring的常规配置解决方案,用于创建可以“运行”的独立的,生产级的基于Spring的应用程序。[22]它预先配置了Spring对Spring平台和第三方库的最佳配置和使用的“见解视图”,因此您可以尽量少开始。大多数Spring Boot应用程序只需要很少的Spring配置。特征:

  • 创建独立的Spring应用程序
  • 直接嵌入Tomcat或Jetty(无需部署WAR文件)
  • 提供自以为是的“初学者” 项目对象模型(POM)以简化您的Maven配置
  • 尽可能自动配置Spring
  • 提供生产就绪功能,例如指标,运行状况检查和外部化配置
  • 绝对没有代码生成,也不需要XML配置

2. 创建项目

新建一个maven项目:打开IDEA,选择File->New->Project如下图所示:

找到Maven项目,如下图所示:

然后,填写各项,

3.pom.xml配置

参考spring官网的例子:https://spring.io/guides/gs/maven/#initial

如下:

<?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>org.springframework</groupId>
<artifactId>myspringboot</artifactId>
<packaging>jar</packaging>
<version>0.1.0</version> <properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties> <build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.demo.HelloWorld</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

除了可选<packaging>元素之外,这是构建Java项目所必需的最简单的pom.xml文件。它包括项目配置的以下详细信息:

  • <modelVersion>。POM模型版本(总是4.0.0)。

  • <groupId>。项目所属的组或组织。通常表示为反向域名。

  • <artifactId>。要赋予项目库工件的名称(例如,其JAR或WAR文件的名称)。

  • <version>。正在构建的项目的版本。

  • <packaging> - 如何打包项目。对于JAR文件打包,默认为“jar”。使用“war”进行WAR文件打包。

4.添加启动类

在 src/main/java 路径下创建一个包,我以com.demo命名。包下面新建一个java类,命名为HelloWorld作为启动类。

HelloWorld.java代码:

package com.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication
public class HelloWorld {
public static void main(String[] args) throws Exception{
SpringApplication.run(HelloWorld.class,args);
}
}

这里用到的@SpringBootApplication,需要在pom.xml中添加依赖,添加在<project>之内:

<dependencies>

        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.5.9.RELEASE</version>
</dependency>

</dependencies>

添加后,点击右下角Import Changes自动下载安装。

5.编写业务层

在com.demo路径下,创建一个包名为Controller,包下创建一个java类名为helloController。

这个类主要用作与页面进行交互。

helloController.java 代码:

package com.demo.Controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; @Controller
public class helloController {
@RequestMapping("/hello")
@ResponseBody
public String hello(){
return "hello spring boot";
}
}

6.运行

这样一个简单的demo就完成了。直接在启动类中运行main方法,即可启动项目;因为sping boot 已经内置了tomcat

可以看到tomcat已在8080端口运行,在浏览器地址栏输入:http://localhost:8080/hello,出现下图:

至此结束,项目成功运行。

7.问题

  • ** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.

     是由于启动类文件,直接放在main/java文件夹下导致的

参考:https://segmentfault.com/a/1190000004493460

是由于目录的结构问题导致的

参考:https://blog.csdn.net/u014788227/article/details/53670112

8.总结

刚接触spring boot 编写一个demo就遇到很多问题,spring boot 作为一门新的技术,以后可能会用到,看来有待继续学习。

SpringBoot (1) idea下的环境搭建及demo的更多相关文章

  1. Solr3.6.1 在Tomcat6下的环境搭建

    Solr3.6.1 在Tomcat6下的环境搭建 Tomcat路径:D:\prg\apache-tomcat-6-solr 简写为tomcat_home Solr文件下载保存路径为:F:\softwa ...

  2. 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

    原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...

  3. Windows下的环境搭建Erlang

    Windows下的环境搭建 Erlang 一.安装编译器 在http://www.erlang.org/download.html下载R16B01 Windows Binary File并安装. 二. ...

  4. RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难

    消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速 ...

  5. 跟我一起,利用bitcms内容管理系统从0到1学习小程序开发:一、IIS下SSL环境搭建

    缘起 1.从事互联网十来年了,一直想把自己的从事开发过程遇到的问题给写出来,分享给大家.可是可是这只是个种想法,想想之后就放下了,写出来的类文章是少之又少.古人说无志之人常立志,有志之人立长志.今天, ...

  6. centos7系统下 docker 环境搭建

    运行环境: VMware Workstation Pro 在虚拟机中安装centos7系统, 选择最小安装, 网络连接方式选择的桥接(与宿主机在同一IP段)centos7一定要安装64位, docke ...

  7. eclipse工具下hadoop环境搭建

    eclipse工具下hadoop环境搭建:    window10操作系统中搭建eclipse64开发系统,配置hadoop的eclipse插件,让eclipse可以查看Hdfs中的文件内容.     ...

  8. win7下docker环境搭建nginx+php-fpm+easyswoole+lavarel+mysql开发环境

    win7环境基础在上一篇win7下docker环境搭建nginx+php-fpm+easyswoole开发环境中已经详细叙述搭建完成 本篇文章将叙述如何在上述基础上搭建laravel开发环境,这个其实 ...

  9. android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

      android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把 ...

随机推荐

  1. robotframework接口测试(二)—post request

    第5行:发起post请求.因为我写了好多的参数,所以这样写的. 也可以这样写 其他行:可见[robotframework接口测试(二)—get request json]

  2. springboot+maven——打war包方式

    转载 Springboot打包war包部署到自己的tomcat中 一.springboot+maven工程——打war包步骤如下: 1.修改父pom.xml文件: <packaging>p ...

  3. C++设计一个不能被继承的类

    1. 方法一 将构造函数和析构函数设置为私有函数,重新定义公有的静态函数来创建和释放类. #include "stdafx.h" #include <iostream> ...

  4. DPDK硬件盒子的初步安装测试

    DPDK硬件盒子 接口 两个USB接口:用于连接键盘等. HDMI接口:高清晰度多媒体接口,用于连接显示器,但是一般的电脑显示器使用的是VGA口,可以用一个转接头连接. 两个RJ接口:可接入网线连接. ...

  5. java基础——回文数判断

    /** * 题目描述: * 有这样一类数字,他们顺着看和倒着看是相同的数,例如:121,656,2332等,这样的数字就称为:回文数字.编写一个函数,判断某数字是否是回文数字. * 要求实现方法: * ...

  6. stm32 晶振不起振

    1. STM32f103有内部晶振.刚刚上电时,所有Clock都是源于内部晶振,所以当片内没有程序或内部程序没有使能外部晶振时,外部晶振是不会起振的.2. STM32f103有内部复位电路,只有当检测 ...

  7. 【Javascript-基础-Date】本地时间与UTC(GMT)时间转换

    UTC(GMT) 整个地球分为二十四时区,每个时区都有自己的本地时间.在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinat ...

  8. Oracle 体系结构五

    确定实例是否是RAC数据库的一部分:select parallel from v$instance; 确定数据库是否通过Data Guard备用数据库的保护来防止数据丢失:select protect ...

  9. yyy loves Maths VII(状压DP)

    题目背景 yyy对某些数字有着情有独钟的喜爱,他叫他们为幸运数字;然而他作死太多,所以把自己讨厌的数字成为"厄运数字" 题目描述 一群同学在和yyy玩一个游戏 每次,他们会给yyy ...

  10. Spring MVC中如何解决POST请求中文乱码问题,GET的又如何处理呢

    在web.xml中配置过滤器 GET请求乱码解决: 在Tomcat中service.xml中