Maven构建项目模板

maven构建的是maven风格的纯净模板,要转变成spring boot项目需要自己添加依赖等配置。

mvn archetype:generate:  Maven插件原型是一个Maven项目模板工具包。 

-DgroupId           包名
-DartifactId        项目名
-DarchetypeArtifactId   类型maven-archetype-quickstart,创建一个Java Project,maven-archetype-webapp,创建一个Web Project
-DinteractiveMode     是否使用交互模式,如果为false,非交互式的命令后直接创建,否则会有控制台提示输入操作

先使用mvn命令构建Maven项目

mvn archetype:generate -DinteractiveMode=false -DgroupId=com.autumn -DartifactId=springbootdemo -Dversion=1.0.0

成功导入IDEA后模板如下,可以看出只是个叫springbootdemo的maven项目,目前和springboot还一点关系没有。

IDEA直接构建Spring Boot

前提配置

用IDEA构建的Spring Boot项目没有Maven模板框架,只有依赖Spring Boot的pom.xml,和上面用Maven创建的刚好相反,那么要如何创建Spring Boot项目既有Maven的目录结构又有springboot的pom依赖呢?

设置Setting/Other Setting -> Build,Execution,Deployment -> Build Tools -> Runner中把VM Options设置为 -DarchetypeCatalog=internal ,这样创建的项目就有maven的目录结构了。

创建Spring Boot项目

maven配置

输入Maven必须的一些配置

spring项目类型选择

选择Spring Web

创建成功

创建结果如下,带有spring boot依赖的pom.xml和带有maven目录结构的项目。mvnw(Maven Wrapper)是在没有安装maven或者maven版本不符的情况下使用的代替mvn的命令。

如果不设置Setting中的Maven配置创建的项目架构如下,会缺少src那部分,只能自己配置。

Web创建

去spring官网https://start.spring.io/,根据需求点击需要的依赖,然后点击下载,生成的demo和IDEA生成的一样,只不过POM.xml中多了一些其他配置的依赖。

POM添加依赖

在pom文件里添加Spring Boot依赖,如果是通过IDEA创建,这里就已经创建好了。

对于SpingBoot测试Junit至少是4.1-4.2以上的版本,所以把版本号删除默认的就行

JAR包依赖配置

    <parent>
<!-- 指定Spring Boot的版本2.2.2.BUILD-SNAPSHOT -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.BUILD-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<!--spring boot核心包-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies> <build>
<plugins>
<!--可以将应用打包成一个可执行的jar包的插件-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

仓库配置

也可以指定jar包和插件的仓库

    <!--jar包仓库-->
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</repository>
<repository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories> <!--插件仓库-->
<pluginRepositories>
<pluginRepository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
</pluginRepository>
<pluginRepository>
<id>spring-snapshots</id>
<name>Spring Snapshots</name>
<url>https://repo.spring.io/snapshot</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>

编码

编写启动类

spring boot提供了一个统一的注解@SpringBootApplication。

@SpringBootApplication = (默认属性)@Configuration + @EnableAutoConfiguration + @ComponentScan

package com.autumn;

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

添加接口类

必须要写在App启动类一个包下才能够扫描到

@RestController注解相当于@ResponseBody + @Controller合在一起的作用。

package com.autumn;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController; @RestController
public class firstController {
@GetMapping("hello")
public String index(){
return "HelloWorld~"+this.getClass();
}
}

测试接口

浏览器中输入http://localhost:8080/hello

打包jar

用package打包,打包后在target文件夹下出现springbootdemo-1.0.0.jar文件

测试jar

使用jsp

pom.xml

    <dependencies>
<!--WEB支持-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--jsp页面使用jstl标签-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<!--用于编译jsp-->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<!--<scope>provided</scope>-->
</dependency>
</dependencies> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.4.2.RELEASE</version>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/webapp</directory>
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/**</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/**</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>

application.properties

spring.mvc.view.prefix: /WEB-INF/jsp/
spring.mvc.view.suffix: .jsp

Controller

修改注解@Controller

package com.autumn;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController; //@RestController,要返回jsp这里要用Controller注解
@Controller
public class firstController { @GetMapping("hello")
@ResponseBody
public String index(){
return "HelloWorld~"+this.getClass();
} @RequestMapping("/showjsp")
public ModelAndView showjsp(){
ModelAndView mav=new ModelAndView("index");
mav.addObject("name","aeolian");
List list=new ArrayList<>();
list.add("180");
list.add("65");
mav.addObject("list",list);
return mav;
}
}

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>SpringBoot测试</title>
</head>
<body>
${name}
${list}
</body>
</html>

测试

参考

https://blog.csdn.net/qq_35280367/article/details/79700970

IDEA新建一个Spring Boot项目的更多相关文章

  1. 使用IntelliJ IDEA新建一个spring boot项目

    好家伙, 使用IntelliJ IDEA新建一个spring boot项目 目的很简单,就是网页上出现一个"hello world" 别的暂时不管 首先关于工具IntelliJ I ...

  2. 【spring boot】【idea】100.idea新建一个spring boot项目

    1.idea新创建一个项目 2.setting进入,选择自己的Maven 3.简单补充一下pom.xml <?xml version="1.0" encoding=" ...

  3. 使用IDEA新建一个Spring Boot项目

    本文使用Spring Initializer来创建 开发环境 操作系统:Windows 10 IDEA:2020.3.2 JDK:1.8 1. 启动IDEA,选择New Project(新建工程): ...

  4. 使用docker构建第一个spring boot项目

    在看了一些简单的docker命令之后 打算自己尝试整合一下docker+spring boot项目本文是自己使用docker+spring boot 发布一个项目1.docker介绍 docke是提供 ...

  5. 只需两步!Eclipse+Maven快速构建第一个Spring Boot项目

     随着使用Spring进行开发的个人和企业越来越多,Spring从一个单一简介的框架变成了一个大而全的开源软件,最直观的变化就是Spring需要引入的配置也越来越多.配置繁琐,容易出错,让人无比头疼, ...

  6. spring boot学习01【搭建环境、创建第一个spring boot项目】

    1.给eclipse安装spring boot插件 Eclipse中安装Spring工具套件(STS): Help -> Eclipse Marketplace... 在Search标签或者Po ...

  7. 从零开始的Spring Boot(1、搭建一个Spring Boot项目Hello World)

    搭建一个Spring Boot项目Hello World 写在前面 从零开始的Spring Boot(2.在Spring Boot中整合Servlet.Filter.Listener的方式):http ...

  8. 社区版Intelij IDEA快速创建一个spring boot项目(找不到sping Initializer选项)

    首先作为一个初学spring boot的小白,在学习过程中肯定会遇到各种问题... So,问题出现:在我想快速创建spring boot项目时,却在新建列表中找不到sping Initializer这 ...

  9. 创建一个 Spring Boot 项目,你会几种方法?

    我最早是 2016 年底开始写 Spring Boot 相关的博客,当时使用的版本还是 1.4.x ,文章发表在 CSDN 上,阅读量最大的一篇有 42W+,如下图: 2017 年由于种种原因,就没有 ...

随机推荐

  1. Kth Minimum Clique(2019年牛客多校第二场D题+k小团+bitset)

    目录 题目链接 题意 思路 代码 题目链接 传送门 题意 找第\(k\)小团. 思路 用\(bitset\)来标记每个结点与哪些结点直接有边,然后进行\(bfs\),在判断新加入的点与现在有的点是否都 ...

  2. Springboot JackSon

    1. SpringBoot JSON工具包默认是Jackson,只需要引入spring-boot-starter-web依赖包,自动引入相应依赖包: <dependency> <gr ...

  3. pptpd pptpctrl[25553]: segfault at 0 ip 00007fb6fe23ebdc sp 00007ffdef6334e8 error 4 in libc-2.17.so[7fb6fe0dd000+1c2000] pptp拨号连接失败

      以下是一次记录pptpd vpn无法连接后的心酸历程: pptp client拨号发现一直无响应,查看日志   因为pptpd服务端是一台高质量公网地址,所以平时拨入vpn连接都非常快,今天发起拨 ...

  4. 【Mybatis】传入参数 对象+单参

    Integer update( @Param(value="bean") TXNJSTXNDetailTBBean bean, @Param(value="table&q ...

  5. 原语:从0到1,从硬件指令集到OS原语,锁原语的哲学

    在道家的世界观中,无极生太极,是这个世界的从0到1. 天地之道,以阴阳二气造化万物.天地.日月.雷电.风雨.四时.于前午后,以及雄雌.刚柔.动静.显敛,万事万物,莫不分阴阳.人生之理,以阴阳二气长养百 ...

  6. ESA2GJK1DH1K基础篇: 阿里云物联网平台: 测试云平台显示MQTT客户端发过来的消息

    现在这里空空如也 咱自定义的也没有数据 现在就是传上来温度数据,让这里显示温度数据 你发布的主题  /sys/a1m7er1nJbQ/Mqtt/thing/event/property/post 发布 ...

  7. wkhtmltopdf cpdf HTML转pdf 及pdf合并

    将 html 转为 pdf :wkhtmltopdf wkhtmltopdf 是一个使用 webkit 网页渲染引擎开发的用来将 html 转成 pdf 的工具,可以跟多种脚本语言进行集成来转换文档. ...

  8. 20165214 2018-2019-2 《网络对抗技术》Exp7 网络欺诈防范 Week10

    <网络对抗技术>Exp7 网络欺诈防范 Week10 一.实验目标与内容 1.实践目标 理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法 2.实践内容 (1)简单应用SET工 ...

  9. 把ubuntu自带的高gcc版本降到低版本(如gcc 3.4)的方法

    转载自: 博客1.博客2 .博客3 步骤 第一步: 下载所需gcc安装包(.deb格式) 手动:老版本gcc下载地址:http://old-releases.ubuntu.com/ubuntu/poo ...

  10. odoo 币别符号显示机制 Monetary

    //-------------------------------------------------------------------basic_fields.js init: function ...