SpringBoot (1) idea下的环境搭建及demo
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的更多相关文章
- Solr3.6.1 在Tomcat6下的环境搭建
Solr3.6.1 在Tomcat6下的环境搭建 Tomcat路径:D:\prg\apache-tomcat-6-solr 简写为tomcat_home Solr文件下载保存路径为:F:\softwa ...
- 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...
- Windows下的环境搭建Erlang
Windows下的环境搭建 Erlang 一.安装编译器 在http://www.erlang.org/download.html下载R16B01 Windows Binary File并安装. 二. ...
- RF+Appium框架自动化测试系列一之(Mac下Appium环境搭建)万事开头难
消失了3个月,有一段时间没来园子更新博客了,各位看官见谅哈哈,消失是因为刚换了工作环境没外网,好多笔记没能及时的记录分享,以后有时间慢慢补上吧,这段时间主要接触了移动端app的自动化测试,公司为了快速 ...
- 跟我一起,利用bitcms内容管理系统从0到1学习小程序开发:一、IIS下SSL环境搭建
缘起 1.从事互联网十来年了,一直想把自己的从事开发过程遇到的问题给写出来,分享给大家.可是可是这只是个种想法,想想之后就放下了,写出来的类文章是少之又少.古人说无志之人常立志,有志之人立长志.今天, ...
- centos7系统下 docker 环境搭建
运行环境: VMware Workstation Pro 在虚拟机中安装centos7系统, 选择最小安装, 网络连接方式选择的桥接(与宿主机在同一IP段)centos7一定要安装64位, docke ...
- eclipse工具下hadoop环境搭建
eclipse工具下hadoop环境搭建: window10操作系统中搭建eclipse64开发系统,配置hadoop的eclipse插件,让eclipse可以查看Hdfs中的文件内容. ...
- win7下docker环境搭建nginx+php-fpm+easyswoole+lavarel+mysql开发环境
win7环境基础在上一篇win7下docker环境搭建nginx+php-fpm+easyswoole开发环境中已经详细叙述搭建完成 本篇文章将叙述如何在上述基础上搭建laravel开发环境,这个其实 ...
- android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把 ...
随机推荐
- MAC 下 安装redis 并配置 php redis 扩展
下载 redis redis-3.1.2.tgz sudo tar -xzf redis-3.1.2.tgz cd redis-3.1.2 sudo phpize grep: /usr/include ...
- SpringBoot实战(十三)之缓存
什么是缓存? 引用下百度百科的解释: 缓存就是数据交换的缓冲区(又称作Cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,找到了则直接执行,找不到的话则从内存中查找.由于缓存的运行速度 ...
- PHP扩展功能 ---- 页面静态化(OB缓冲)
一.入门三部曲 1.什么是页面静态化 百度百科介绍: 静态页面是网页的代码都在页面中,不需要执行asp,php,jsp,.net等程序生成客户端网页代码的网页,静态页面网址中一般不含"?&q ...
- 【题解】洛谷P1966 [NOIP2013TG] 火柴排队(树状数组+逆序对)
次元传送门:洛谷P1966 思路 显然在两排中 每排第i小的分别对应就可取得最小值(对此不给予证明懒) 所以我们只在意两排的火柴是第几根 高度只需要用来进行排序(先把两个序列改成有序的方便离散化) 因 ...
- spring boot++jpa+ mysql +maven
项目结构图: 一. 添加mysql 配置 1 在pom.xml中添加 maven依赖 <!--mysql--> <dependency> <groupId>mysq ...
- FCC Truncate a string 解决方法
三行搞定 function truncate(str, num) { ab = str.length >num?num>3?str.slice(0,num-3)+ "...&qu ...
- Notes 20180310 : String第二讲_String的声明与创建
1 字符串的声明与创建 学习String的第一步就是创建(声明)字符串,我们在这里之所以分为创建和声明(其实是一个意思,都是创建字符串,但两者却有本质的区别)是因为String是一个很特殊的类,它的 ...
- Caused by: java.lang.ClassNotFoundException: org.springframework.boot.bind.RelaxedPropertyResolver
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.bind.RelaxedPropertyResolver 这 ...
- JQuery模拟网页中自定义鼠标右键菜单
题外话.......最近在开发一个网站项目的时候,需要用到网页自定义右键菜单,在网上看了各路前辈大神的操作,头晕目眩,为了达到目的,突然灵机一动,于是便有了这篇文章. 先放个效果图(沾沾自喜,大神勿喷 ...
- MongoDB的高级使用
MongoDB的高级使用 1. Mongdb的索引备份以及和python交互 t255为mongodb中的集合 1.1 创建索引 索引的特点:提高查找的效率 不创建索引的情况下的查询: for(i=0 ...