spring boot + gradle[草稿]
入门文档:https://github.com/qibaoguang/Spring-Boot-Reference-Guide
安装gradle
官方下载 https://gradle.org/gradle-download/,建议用迅雷。
环境变量配置:http://jingyan.baidu.com/article/4d58d541167bc69dd4e9c009.html
首先说一下使用spring-boot
开始项目的一些注意事项(针对新手):
- 为了方便,请抛弃配置
XML
,真的很冗杂 - 全面支持
annotation
注解和java config
- 用
spring-boot
提供的一系列starter
开始你的项目 spring-boot
只是帮你更好的开始一个项目,而不是一个应用框架- 请使用
IDEA
开发
开始一个web项目
插件配置:
idea的模型 https://docs.gradle.org/current/dsl/org.gradle.plugins.ide.idea.model.IdeaModel.html
spring boot插件(配置了该插件后才有 gradle bootRun任务) http://docs.spring.io/spring-boot/docs/current/reference/html/build-tool-plugins-gradle-plugin.html
新建文件夹bootmkdir boot
,在boot根目录执行gradle init --type java-library
,修改build.gradle
添加依赖compile 'org.springframework.boot:spring-boot-starter-web'
,新建Application.java
:
@SpringBootApplication
public class Application {
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
}
写一个简单的controller
@Controller
public class PublicController {
@RequestMapping("/")
@ResponseBody
String home() {
return "Hello World!";
}
}
boot
几乎所有配置都在application.properties
里,新建src/main/resources/application.properties,修改端口号server.port=8090
,命令行启动gradle bootRun
查看http://localhost:8090,Hello World!
。
添加其他功能只需要添加对应的starter
然后配置即可,比如通常会用到的一些starter
:
'org.springframework.boot:spring-boot-starter-web' // web项目
'org.springframework.boot:spring-boot-starter-data-jpa' // JPA对应DAO
'org.springframework.boot:spring-boot-starter-security' // 权限管理
'org.springframework.boot:spring-boot-starter-thymeleaf' // view层,替代JSP
'org.springframework.boot:spring-boot-devtools' // 开发工具,热加载
最后说一下目录结构,一般而言是这样:
|-- build.gradle
|-- src
|----|-- main
|---------|-- java
|--------------|-- com.project
|---------------------|-- controller
|---------------------|-- service
|---------------------|-- repository
|---------------------|-- entity
|---------|-- resources
|--------------|-- application.properties
|--------------|-- application-dev.properties
|--------------|-- application-pro.properties
我推荐这样:
|-- build.gradle
|-- src
|----|-- main
|---------|-- java
|--------------|-- com.project
|---------------------|-- user
|--------------------------|-- controller
|--------------------------|-- service
|--------------------------|-- repository
|--------------------------|-- entity
|---------|-- resources
|--------------|-- application.properties
|--------------|-- application-dev.properties
|--------------|-- application-pro.properties
按组件区分,易查看代码,当项目成长到一定程度更加容易拆分。
热加载
代码热替换 方法一
mvn spring-boot:run
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.6.RELEASE</version>
</dependency>
</dependencies>
<!--
<configuration>
<fork>true</fork>
</configuration>--> </plugin>
代码热加载方法二:
main方法启动
-javaagent:D:/software/springloaded-1.2.6.RELEASE.jar -noverify
模板热替换:
spring.thymeleaf.cache=false
必须按Contrl+F9,太傻了
spring boot + gradle[草稿]的更多相关文章
- 使用intelliJ创建 spring boot + gradle + mybatis站点
Spring boot作为快速入门是不错的选择,现在似乎没有看到大家写过spring boot + gradle + mybatis在intellij下的入门文章,碰巧.Net同事问到,我想我也可以写 ...
- spring boot + gradle + mybatis
使用intelliJ创建 spring boot + gradle + mybatis站点 Spring boot作为快速入门是不错的选择,现在似乎没有看到大家写过spring boot + gr ...
- Spring boot Gradle项目搭建
Spring boot Gradle项目搭建 使用IDEA创建Gradle工程 操作大致为:File->new->Project->Gradle(在左侧选项栏中) 创 ...
- Spring Boot gradle
最近有写一个电子订单商务网站,使用JAVA8,SPRING,ANGULARJS对项目使用的技术和大家分享. 第一次写博客,哪有不对需要改正的请联系改正. 因为是项目是我给别人做的无法提供源码见谅,我尽 ...
- spring boot gradle build:bootRepackage failed
When running 'gradle clean build' on my spring boot project (version 1.3.6.RELEASE) on windows 10 (a ...
- Spring Boot gradle 集成servlet/jsp 教程及示例
1.build.gradle 配置 注意,加入了war插件,在依赖中加入了jstl.tomcat-embed-jasper,这样才能运行jsp页面. buildscript { ext { sprin ...
- Spring boot + Gradle + Eclipse打war包发布总结
首先感谢两位博主的分享 http://lib.csdn.net/article/git/55444?knId=767 https://my.oschina.net/alexnine/blog/5406 ...
- Spring Boot Gradle 打包可执行Jar文件!
使用Gradle构建项目,继承了Ant的灵活和Maven的生命周期管理,不再使用XML作为配置文件格式,采用了DSL格式,使得脚本更加简洁. 构建环境: jdk1.6以上,此处使用1.8 Gradle ...
- [z]spring boot gradle build
I had the same problem. I believe it is caused by the JRE that gradle is configured to use rather th ...
随机推荐
- execl表格VLOOKUP函数的使用
使用场景:最近在处理一个表格数据的时候出现了一点麻烦.想把另外表2里面对应的的数据放到表1里面,本来表2的ID是乱序的(这里为好看,就顺序排了.),一个个查找复制粘贴比较麻烦,后经大师指点VLOOKU ...
- Linux之CentOS 常用命令
软件安装:安装软件:yum install <名称>移除软件:yum remove <名称>安装软件包:rpm -ivh <包全名>安装ifconfig: yum ...
- 第二十七篇:SOUI中控件属性查询方法
SOUI项目的SVN根目录下有一个doc目录,下面有一份控件属性表.包含了大部分控件的大部分属性,不过也不一定完全准确.最保险的办法还是查源代码. SOUI对象包含控件及ISkinObj等从SObje ...
- 欲望 VS 抗拒
总有很多事情在心里酝酿许久,但真要做起来却又很抗拒. 是在害怕,还是在逃避? 从心,快乐,都是这么难.
- MySQL - 问题集 - 触发器更新本表数据异常"Can’t update table ‘tbl’ in stored function/trigger because it is already used by statement which invoked this"
如果你在触发器里面对刚刚插入的数据进行了 insert/update, 则出现这个问题.因为会造成循环的调用. create trigger test before update on test fo ...
- Java整型与字符串相互转换
>>>>>>>>>>>>>>>>>>>> 1如何将字串 String 转换成整数 ...
- Linux 下MySql 重置密码
1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录 ...
- nginx 直接在配置文章中设置日志分割
直接在nginx配置文件中,配置日志循环,而不需使用logrotate或配置cron任务.需要使用到$time_iso8601 内嵌变量来获取时间.$time_iso8601格式如下:2015-08- ...
- 1.javascript篇(基础)
js基础部分 js定义: 1.js是通过浏览器解析,然后由浏览器执行的一种脚本语言2.css控制样式,而js控制行为 基本格式: <script type="text/javascri ...
- sun公司的jstl标签库
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...