Spring boot作为快速入门是不错的选择,现在似乎没有看到大家写过spring boot + gradle + mybatis在intellij下的入门文章,碰巧做.Net的同学问到,我想我也可以写这样一篇。

入门Java的人最大的问题是步骤繁琐,不知道如何开始,之前我也建议过我的一个小弟用BlueJ去学Java,可是这个东西学得他很迷茫,根本无法获得成就感,不知道能搞出什么有意思的东西,那我们就来点正式的吧,看看怎么从零开始建一个你自己的Java网站。

软件安装

作为入门版,当然我们要从软件安装开始咯。

要安装的软件有

JDK安装很简单,下载最新版,按提示安装即可。

IntelliJ IDEA的安装我想也是不必说了,如果这个软件安装也不会,那么学编程的路,可路漫漫其修远兮了。

Gradle也是需要安装的,在windows下,可以用scoop来安装。

要安装Scoop,打开windows的PowerShell,输入

set-executionpolicy remotesigned -s cu

然后使用这条命令安装Scoop:

iex (new-object net.webclient).downloadstring('https://get.scoop.sh')

详细可以参考:http://scoop.sh/

Mac下面,可以使用Homebrew安装,只需要一条命令:

brew update && brew install gradle

创建项目

打开intelliJ, 注意,这软件需要注册,但现在是有在线激活的服务器的,反正,你自己可以想办法的 。

点击Create New Project

选择Spring Initializr

给你的项目填写一点信息,Group和Artifact你随便填(填的格式不对的话,IntelliJ会提示你的),Type选Gradle Project,Packaging选War,然后点下一步。

分别在Web下面选择Web,Template下选择Freemarker,SQL下面选择MyBatis,选择后的依赖会出现在最右边,如图所示,我就选择了这三个:

然后点击下一步,就会出现确认的画面,直接点击Finish按钮。

在接下来这个画面里,需要gradle的路径,可以用这样的方式把它找出来。

新建一个文件,叫build.gradle,写入如下的内容

task getHomeDir << {
println gradle.gradleHomeDir
}

然后运行

gradle getHomeDir

最后,使用这条命令就能获得路径:

gradle getHomeDir

如下图:

得到了gradle路径,填入到intelliJ IDEA中。

其余的设置跟我一样就行,然后点击OK。

这时候,你会进到下一个画面,这是左上方显示的内容:

这时候,你需要做的是耐心的等待,也许你还需要一个VPN才能完成下载依赖,这是你的第一个挑战,这是网络的原因,我很难帮到你。

不过你可以改改build.gradle文件来加速maven依赖的下载,改成这样:

这部分的下载速度能得到很大的提高,还是得感谢马首富啊。

总之,所有的内容加载完成后,你会看到这样的界面:

你看到的画面可能跟我的不一样,因为我多开了一些窗口,但项目的结构就是这样的。

数据库的创建

在你的mysql里,新加一个数据库,就叫 life_master吧,然后加入这样一张表:

create table life_master.users
(
id int(10) auto_increment
primary key,
name varchar(45) not null,
password varchar(20) not null
);

再加入两条数据:

INSERT INTO users VALUES (1,'Tom','no_pass');
INSERT INTO users VALUES (2,'Jerry','no_pass');

双击打开application.properties,加入下面内容:

spring.datasource.url=jdbc:mysql://192.168.88.3:3306/life_master
spring.datasource.username=root
spring.datasource.password=p@ssw0rd
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

以上内容根据你的实际情况修改,我的mysql放在虚拟机的192.168.88.3上面,用户名和密码都以你的实际情况填写。

开始编码

好了,你是否开始在疑惑,你经历了重重困难,现在弄了个什么东西出来?

别急,我们先加点代码进去。

在com.onefew.springboot上右键,选择New->Java Class

然后给他取个名字,比如叫HomeController,核心内容:

@Controller
@RequestMapping("/")
public class HomeController { @Autowired
UserDao userDao; @GetMapping("/")
public String index(Model model){
model.addAttribute("name","world");
return "home";
} @GetMapping("/{id}")
public String findById(Model model, @PathVariable(value = "id") int id){
User u = userDao.findById(id);
model.addAttribute("name",u.getName());
return "home";
}
}

新增User的Entity,名字就叫User,内容:

public class User {
private int id;
private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}

新建UserDao的接口,内容:

@Mapper
public interface UserDao {
@Select("SELECT * FROM users where id = #{id}")
@Results({
@Result(property = "id", column = "id"),
@Result(property = "name", column = "name"),
@Result(property = "password", column = "password")
})
User findById(@Param("id") int id);
}

在templates目录下面,右键新建文件home.ftl,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh">
<head>
<title>我的第一个Spring Boot 程序</title>
</head>
<body>
Hello ${name}
</body>
</html>

修改一下build.gradle,强dependencies下面,增加

compile group: 'mysql', name: 'mysql-connector-java', version: '6.0.6'

测试运行

测试之前,先暂时注释掉build.gradle内的这个内容:

providedRuntime('org.springframework.boot:spring-boot-starter-tomcat')

在右上角点小箭头,点edit configurations

新增Spring boot,如图所示

如果一切顺利的话,你点击右上部的绿色小箭头,就能运行起来了

窗口内会输出spring相关的信息

这时候,打开浏览器,输出 http://127.0.0.1:8080

忙活了半天,现在是见证奇迹的时候到了:

http://127.0.0.1:8080看到 hello world,这是我们HomeController中index内的内容。

http://127.0.0.1:8080/1 和http://127.0.0.1:8080/2 是读取到我们mysql中保存的人物的名字。

到这里,编码内容也基本告一段落。

tomcat部署

之前提到过tomcat,但这个是可选的,如果你安装了tomcat,那如何在tomcat里调试呢?

点击菜单里的Run->EditConfigurations,在弹出的菜单的左上角点击加号,然后选择tomcat server->local,做如下图中的配置:

注意deployment标签内的设置

完成以后,就可以从tomcat中调试了。

结语

这是入门篇,用了大量的截图,对初学者还是有一些挑战,但是熟悉以后,这一切都非常的顺理成章。

本篇的内容不但涵盖了建立项目的基础知识,还涉及到了freemarker和mybatis,虽然只是点到即止,但是从这里开始扩展,相信能写出有点成就感的程序来。

本文中涉及到的源码地址:https://github.com/syler/Fun/tree/master/demo-spring-boot-1few



本文地址:http://www.cnblogs.com/asis/p/spring-boot-freemarker-mybatis-for-beginner.html

https://1few.com/spring-boot-freemarker-mybatis-for-beginner/

使用intelliJ创建 spring boot + gradle + mybatis站点的更多相关文章

  1. spring boot + gradle + mybatis

    使用intelliJ创建 spring boot + gradle + mybatis站点   Spring boot作为快速入门是不错的选择,现在似乎没有看到大家写过spring boot + gr ...

  2. 【Spring Boot&&Spring Cloud系列】使用Intellij构建Spring Boot和Mybatis项目

    一.创建项目 1.File->New->Project->spring initializer 2.勾选Web SQL Template Engines 3.项目生成之后,点击add ...

  3. 创建Spring Boot项目的几种方式总结

    一.我们可以使用Spring Initializr来创建SpringBoot项目. Spring Initializr从本质上来说就是一个Web应用程序,它能为你生成Spring Boot项目结构.虽 ...

  4. Spring Boot2 系列教程(二)创建 Spring Boot 项目的三种方式

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

  5. Spring Boot 整合 Mybatis 实现 Druid 多数据源详解

    摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “清醒时做事,糊涂时跑步,大怒时睡觉,独处时思考” 本文提纲一.多数据源的应用场景二.运行 sp ...

  6. Spring boot整合Mybatis

    时隔两个月的再来写博客的感觉怎么样呢,只能用“棒”来形容了.闲话少说,直接入正题,之前的博客中有说过,将spring与mybatis整个后开发会更爽,基于现在springboot已经成为整个业界开发主 ...

  7. spring boot 实现mybatis拦截器

    spring boot 实现mybatis拦截器 项目是个报表系统,服务端是简单的Java web架构,直接在请求参数里面加了个query id参数,就是mybatis mapper的query id ...

  8. spring boot 整合 mybatis 以及原理

    同上一篇文章一样,spring boot 整合 mybatis过程中没有看见SqlSessionFactory,sqlsession(sqlsessionTemplate),就连在spring框架整合 ...

  9. Spring Boot整合MyBatis(使用Spring Tool Suite工具)

    1. 创建Spring Boot项目 通过Spring Tool Suite的Spring Starter Project对话框,其实是把项目生成的工作委托http://start.spring.io ...

随机推荐

  1. Spark踩坑记——从RDD看集群调度

    [TOC] 前言 在Spark的使用中,性能的调优配置过程中,查阅了很多资料,之前自己总结过两篇小博文Spark踩坑记--初试和Spark踩坑记--数据库(Hbase+Mysql),第一篇概况的归纳了 ...

  2. HttpClien Get&Post

    新公司上班第二周,开始进军.Net Core,这方面的东西比较新,所以已经封装好的东西比较少,比如HttpClien之类的开源类库,找了NuGet好久,没有找到,所以先写个简陋的来用着先. 引用: u ...

  3. 使用java实现发送邮件的功能

    首先要在maven添加javamail支持 <dependency> <groupId>javax.activation</groupId> <artifac ...

  4. charles连接手机抓包

    写给我自己: 如果是使用charles抓包.一定要tm的保证手机和电脑连的是一个网. 1.proxy setting,查看charles,端口 2.勾选 3.ipconfig,查看自己电脑的ip地址 ...

  5. 修复python的ModuleNotFoundError

    我在项目里面用到了python,但其他的同事并没有安装python环境,为了不强制每个人都安装python,我下载了python-3.6.1-embed-amd64,并将用一个.bat去调用它. 大概 ...

  6. 关于Myeclipse不能加载已有项目的问题

    如果缺少.project文件,你可以新建一个同名项目,把Use default location 去掉,选择要加载的项目,完成

  7. git 常用的命令符

    1. linux操作命令: touch Filename:创建一个文件: mkdir 文件夹名字:创建一个文件夹: cd pathname:切换磁盘: cd ..:返回上一级: rm Filename ...

  8. 编码的秘密(python版)

    编码(python版) 最近在学习python的过程中,被不同的编码搞得有点晕,于是看了前人的留下的文档,加上自己的理解,准备写下来,分享给正在为编码苦苦了挣扎的你. 编码的概念 编码就是将信息从一种 ...

  9. 机器学习:保序回归(IsotonicRegression):一种可以使资源利用率最大化的算法

    1.数学定义 保序回归是回归算法的一种,基本思想是:给定一个有限的实数集合,训练一个模型来最小化下列方程: 并且满足下列约束条件: 2.算法过程说明 从该序列的首元素往后观察,一旦出现乱序现象停止该轮 ...

  10. Web压力测试软件webbench

    官方网站:http://home.tiscali.cz/~cz210552/webbench.html下载地址:http://home.tiscali.cz/~cz210552/distfiles/w ...