代码改变世界

idea搭建第一个springboot工程

2019-06-25 16:04  昆山玉乐  阅读(729)  评论(0编辑  收藏  举报

1、打开idea开发工具,在菜单栏选择File-->New-->Project...-->Spring Initializer
说明:社区版的idea是没有Spring Initializer选项的,需要下载专业版的,网上有很多破解码的,不用担心过期问题

2、填写Group和Artifact等信息
Group:分组(影响或效果,此处填的会是工程目录结构src/main/java下的多级文件夹,多级文件夹Group用.间隔,5.1中举例子来看下效果)
Artifact:可以把它理解成“生成的东西”就差不多了。这个词强调的是这是你软件生产过程中某一步的产生物,不像程序本身,或者是配置文件这些,是你手写出来的。(影响或效果,此处填的会是工程目录结构src/main/java下Group填写的文件夹下的文件夹名称和框架启动类名称,5.1中举例子来看下效果)
Aritifact可以修改,但注意Aritifact不能包含大写字母
后面第四步的项目名称会默认是这个
Type :项目管理方式,可以任意选择,一般选择用Maven project即maven仓库管理比较方便
Packaging : 项止打包方式,可以选择jar包或war包,由于spring-boot已集成tomcat,故可以用java -jar方式运行
其他默认即可

3、选择主体功能,目前操作只需让项目运行起来,所以只勾选web,其它以后需要时详解(这里是选择依赖,选择后会将对应的包放到pom文件中,或者生成对应的config文件)

4、Project name,给项目命名,可任意;Project location,项目存储的区域,可以事先建一个文件夹用以提供存储。点击 Finish 完成创建。

5、至此我们完成了第一个springboot的搭建,还是很简单的,idea为我们生成了一个空的spring框架。

5.1、我们在来看下第二步填写Group和Artifact以及第四步填写的项目名称会是什么效果
Group=aaa.bbb
Artifact=ccc
Project name会默认为ccc,改为ddd

 

6、我们来看一下空框架的结构,以便更加了解springboot

src/main/java:主程序入口 Application,可以通过直接运行该类来 启动 Spring Boot应用
src/main/resources:配置目录,该目录用来存放应用的一些配置信息,比如应用名、服务端口、数据库配置等。由于我们应用了Web模块,因此产生了 static目录与templates目录,前者用于存放静态资源,如图片、CSS、JavaScript等;后者用于存放Web页面的模板文件。
application.properties/application.yml 用于存放程序的各种依赖模块的配置信息,比如 服务端口,数据库连接配置等。。。
src/test:单元测试目录,生成的 ApplicationTests 通过 JUnit4实现,可以直接用运行 Spring Boot应用的测试。
TestoneApplication:是用于启动Spring Boot项目的
pom.xml:maven管理文件,主要用于管理各种依赖包

7、pom.xml文件

<?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>
<!-- 起步依赖 -->
<parent>
<!-- 这个特殊的依赖包含了应用运行需要的所有信息,它包含了Spring Boot应用所必须的类似于Spring FrameWork(spring-core)、
Spring Test(spring-test)等基础依赖的依赖描述。你只需要使用这个parent pom就能完成所有的依赖描述添加工作。-->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.springboot</groupId>
<artifactId>springboo_testone</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboo_testone</name>
<description>Demo project for Spring Boot</description>

<properties>
<java.version>1.8</java.version>
</properties>

<dependencies>
<!-- web项目库,dependencies里面存放各个依赖包 -->
<dependency>
<!-- 添加这个依赖之后就可以创建一个web应用程序。starter poms部分可以引入所有需要在实际项目中使用的依赖。
spring-boot-starter-web依赖包含所有的spring-core, spring-web, spring-webmvc,嵌入的Tomcat server和其他web应用相关的库。 -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<!-- 测试所需库 -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

</project>

8、下面开始第一个springboot项目的编写
在src/main/java/controller包下创建一个HelloController

package com.springboot.springboo_testone.controller;

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

@RestController
@EnableAutoConfiguration
public class HelloController {
@RequestMapping("/hello")
public String hello(){
return "hello,this is springboot test one";
}
}

注解说明:

@RestController:这是一个构造型(stereotype) 注解,顾名思义,该注解是@Controller和@ResponseBody的结合体,两个标注合并起来的作用。@RestController注解告诉Spring直接渲染结果字符串返回给调用者。对于Spring来讲,这个类扮演了一个特殊的角色,在本案中,我们的类是一个Web @Controller,所以当处理进来的web请求时, Spring会询问它。

@RequestMapping:此注解提供的是路由信息。它告诉Spring任何来自“/”路径的请求都会被映射到home方法。

@EnableAutoConfiguration:这个注解告诉Spring Boot去“猜测(guess)”需要如何配置Spring,主要基于pom.xml中所添加的jar依赖。由于 spring-boot-starter-web 添加了Tomcat和Spring MVC, 所以auto-configuration将假定你正在开发一个web应用并相应地对Spring进行设置。

9、启动
运行TestoneApplication类

Spring Boot中集成了Tomcat,因此我们不需要在开发工具中针对Tomcat做任何配置,在运行结果中我们可以看到已经启动了Tomcat的8080端口,这个是Tomcat的默认端口。

如果要修改默认端口,可以在src/main/resources下application.yml或者application.properties文件,自定义端口

application.properties
# tomcat端口号配置
server.port=15888

application.yml
# tomcat配置
server:
# 端口号
port: 15888

10、测试:在浏览器地址栏输入http://localhost:15888/hello