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.
参考:https://segmentfault.com/a/1190000004493460
是由于目录的结构问题导致的
参考:https://blog.csdn.net/u014788227/article/details/53670112
8.总结
刚接触spring boot 编写一个demo就遇到很多问题,spring boot 作为一门新的技术,以后可能会用到,看来有待继续学习。