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

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

软件安装

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

要安装的软件有

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

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

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

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

  1. set-executionpolicy remotesigned -s cu

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

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

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

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

  1. 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,写入如下的内容

  1. task getHomeDir << {
  2. println gradle.gradleHomeDir
  3. }

然后运行

  1. gradle getHomeDir

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

  1. gradle getHomeDir

如下图:

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

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

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

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

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

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

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

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

数据库的创建

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

  1. create table life_master.users
  2. (
  3. id int(10) auto_increment
  4. primary key,
  5. name varchar(45) not null,
  6. password varchar(20) not null
  7. );

再加入两条数据:

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

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

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

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

开始编码

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

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

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

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

  1. @Controller
  2. @RequestMapping("/")
  3. public class HomeController {
  4. @Autowired
  5. UserDao userDao;
  6. @GetMapping("/")
  7. public String index(Model model){
  8. model.addAttribute("name","world");
  9. return "home";
  10. }
  11. @GetMapping("/{id}")
  12. public String findById(Model model, @PathVariable(value = "id") int id){
  13. User u = userDao.findById(id);
  14. model.addAttribute("name",u.getName());
  15. return "home";
  16. }
  17. }

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

  1. public class User {
  2. private int id;
  3. private String name;
  4. private String password;
  5. public String getName() {
  6. return name;
  7. }
  8. public void setName(String name) {
  9. this.name = name;
  10. }
  11. public String getPassword() {
  12. return password;
  13. }
  14. public void setPassword(String password) {
  15. this.password = password;
  16. }
  17. }

新建UserDao的接口,内容:

  1. @Mapper
  2. public interface UserDao {
  3. @Select("SELECT * FROM users where id = #{id}")
  4. @Results({
  5. @Result(property = "id", column = "id"),
  6. @Result(property = "name", column = "name"),
  7. @Result(property = "password", column = "password")
  8. })
  9. User findById(@Param("id") int id);
  10. }

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

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

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

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

测试运行

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

  1. 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. First release of mlrMBO - the toolbox for (Bayesian) Black-Box Optimization

    We are happy to finally announce the first release of mlrMBO on cran after a quite long development ...

  2. 多线程编程-- part 5.3 LockSupport

    一.LockSupport的介绍 LockSupport是用来创建锁和其他同步类的基本线程阻塞原语.  LockSupport中的park() 和 unpark() 的作用分别是阻塞线程和解除阻塞线程 ...

  3. 使用 after 伪类清除浮动

    以前清除浮动的时候总是在想要清除浮动的元素后面添加 <div style="clear:both;"></div> 或者写在br标签里面来解决,但这样会增加 ...

  4. python标准库]Hashlib

    hashlib主要提供字符加密功能,将md5和sha模块整合到了一起,支持md5,sha1, sha224, sha256, sha384, sha512等算法. 在学习hashlib模块之前,先来看 ...

  5. {网络编程}和{多线程}应用:基于UDP协议【实现多发送方发送数据到同一个接收者】--练习

    要求: 使用多线程实现多发送方发送数据到同一个接收者 代码: 发送端:可以在多台电脑上启动发送端,同时向接收端发送数据 注意:匹配地址和端口号 package com.qf.demo; import ...

  6. 使用KeePass愉快的来管理你的密码

    不要老是使用同一个密码 这话说了好多次了,以前的CSDN被拖库,或者是好多xx照门,都告诉我们不宜使用用一个密码. 现在我各个网站的密码都不一样,而且复杂的我都记不住,例如,我的前Google账户密码 ...

  7. C# ftp 图片上传多快好省

    前言 此篇讲到的是图片上传功能,每个网站必定会有这样类似的功能,上传文件.上传图片等等.那么接下来,看看我们EF+uploadfile+ftp如何玩转上传图片吧 效果预览 具体实现 一个简单数据库 只 ...

  8. CVE-2017-8464远程命令执行漏洞(震网漏洞)复现

    前言 2017年6月13日,微软官方发布编号为CVE-2017-8464的漏洞公告,官方介绍Windows系统在解析快捷方式时存在远程执行任意代码的高危漏洞,黑客可以通过U盘.网络共享等途径触发漏洞, ...

  9. Unity3D常用 API 之实例化与销毁

    1.实例化游戏物体 1.1.游戏中的案例介绍 在很多 MMORPG 类的游戏中都有类似于“金钱副本”的副本关卡.在这类副 本中通常都是限定一个时间,在这个时间内玩家可以尽情的破坏,然后收集金钱. 分析 ...

  10. Python给小说做词云

    闲暇时间喜欢看小说,就想着给小说做词云,展示小说的主要内容.开发语言是Python,主要用到的库有wordcloud.jieba.scipy.代码很简单,首先用jieba.cut()函数做分词,生成以 ...