博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
<一> idea+gradle+springboot创建项目
阅读量:5291 次
发布时间:2019-06-14

本文共 4245 字,大约阅读时间需要 14 分钟。

转载自

 

前言

一边学习公司用到的技术,一边重构小程序后端,从而更好的理解公司搭建的框架。此处记录一个用+gradle+springboot的基础实现。

所用环境

IntelliJ IDEA 2017.1.1

JDK1.8

4.3

1.5.8.RELEASE

创建项目

1、new Project

如图在gradle中选择java和web

2、填写基础信息

填写GroupId、ArtifactId、Version三项,和maven中一样。

3、选择gradle基础

此处是如图选择,具体含义见下面名词解释:

相关名词

 

  • Use auto-import | 是否开启自动导入,若开启修改gradle脚本文件后会自动检测变化并对项目进行刷新。
  • Create directories for empty content roots automatically | 导入或者创建gradle项目时,是否自动创建标准目录结构。
  • Create separate module per source set | 让每个模块单独采用Gradle约定的source set结构去执行构建。
  • Use default gradle wrapper (recommended) | 使用Gradle Wrapper(如果一定要翻译的话,可以称之为Gradle 包装器),这可以使得项目组成员不必预先安装好gradle即可执行gradle脚本,同时也便于统一项目所使用的gradle版本,当然虽说是不必预装其实是它会自己去官网帮你下载一个,然而gradle安装包体积不小同时又有墙的过滤,所以开启此项最好事先备好梯子。
  • Use gradle wrapper task configuration | 自定义Gradle Wrapper配置。
  • Use local gradle distribution | 采用本地安装的Gradle执行脚本
  • Gradle home | 选择你的Gradle安装目录即可,无需选择到bin
  • Gradle JVM | 选择构建Gradle项目使用的JVM,默认是项目采用的JDK

 

4、标准目录结构

执行完成后需等待一会gradle的自动创建过程,然后可看到如图所示的目录结构

添加SpringBoot依赖

在build.gradle文件中的dependencies 中添加springboot依赖:

compile("org.springframework.boot:spring-boot-starter-web:1.5.8.RELEASE")

创建含main函数的AppLicationController类:

package com.windcoder.nightbook.controller;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;/** * Description: * User: WindCoder * Date: 2017-11-12 * Time: 22:30 下午 */@Controller@EnableAutoConfigurationpublic class AppLicationController {    @ResponseBody    @RequestMapping("/helloMain")    public String home(String name){        return "Hello "+name+"! This is Spring-boot test One";    }    public static void main(String[] args){        SpringApplication.run(AppLicationController.class,args);    }}

运行

在AppLicationController类处右键-执行run即可。此时不需要管存不存在web.xml,也不需要创建application.properties文件。

新建自定义Controller

到现在为止依旧是spingBoot官方的实例,但此时若自己建一个自定义的controller类,如HelloController 类:

package com.windcoder.nightbook.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.ResponseBody;/** * Description: * User: WindCoder * Date: 2017-11-12 * Time: 22:32 下午 */@Controller@RequestMapping("/api")public class HelloController {    @ResponseBody    @RequestMapping(value ="/hello",method = RequestMethod.GET)    public String home(String name){        return "Hello "+name+"! This is Spring-boot test";    }}

重启执行发现会报如下错误:

Whitelabel Error PageThis application has no explicit mapping for /error, so you are seeing this as a fallback.

此时需要略作修改才能让程序找到——将@EnableAutoConfiguration替换为@SpringBootApplication:

package com.windcoder.nightbook.controller;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;/** * Description: * User: WindCoder * Date: 2017-11-12 * Time: 22:30 下午 */@Controller@SpringBootApplicationpublic class AppLicationController {    @ResponseBody    @RequestMapping("/helloMain")    public String home(String name){        return "Hello "+name+"! This is Spring-boot test One";    }    public static void main(String[] args){        SpringApplication.run(AppLicationController.class,args);    }}

若是该类中没有访问路径,可以将@Controller注解去掉。

还有一种实现方式是对含main的类增加注解,ComponentScan方式:

@Configuration@EnableAutoConfiguration@ComponentScan

此处暂且不再重贴代码。

之后重新运行便可访问到自定义Controller中的路径。

弦外音:

很多开发者经常使用@Configuration@EnableAutoConfiguration@ComponentScan注解他们的main类,由于这些注解如此频繁地一块使用,Spring Boot就提供了一个方便的@SpringBootApplication注解作为代替。

@SpringBootApplication注解等价于以默认属性使用@Configuration@EnableAutoConfiguration@ComponentScan

@SpringBootApplication注解也提供了用于自定义@EnableAutoConfiguration@ComponentScan属性的别名(aliases)。

 

 

参考资料

 延伸

 

转载于:https://www.cnblogs.com/jerrys/p/11358295.html

你可能感兴趣的文章
http://www.bootcss.com/
查看>>
20145308 《网络对抗》 注入shellcode+Return-to-libc攻击 学习总结
查看>>
将多张图片和文字合成一张图片
查看>>
自己动手写ORM(01):解析表达式树生成Sql碎片
查看>>
如何使用USBWebserver在本机快速建立网站测试环境
查看>>
百度Ueditor编辑器的Html模式自动替换样式的解决方法
查看>>
变量提升
查看>>
线性表可用顺序表或链表存储的优缺点
查看>>
在现有的mysql主从基础上,搭建mycat实现数据的读写分离
查看>>
[Flex] flex手机项目如何限制横竖屏?只允许横屏?
查看>>
tensorflow的graph和session
查看>>
6-1 并行程序模拟 uva210
查看>>
JavaScript动画打开半透明提示层
查看>>
Mybatis生成resulteMap时的注意事项
查看>>
jquery-jqzoom 插件 用例
查看>>
1007. Maximum Subsequence Sum (25)
查看>>
《算法》C++代码 快速排序
查看>>
iframe的父子层跨域 用了百度的postMessage()方法
查看>>
Js apply方法与call方法详解 附ES6新写法
查看>>
linux php全能环境一键安装,小白福利!
查看>>