• 使用intelliJ创建 spring boot + gradle + mybatis站点


    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

    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 homedir

    得到了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/

  • 相关阅读:
    c++/oop友元
    c++/oop引用/动态内存/内联函数/函数重载
    CS61A python字符串/常见错误/*args
    c++/oop类和对象/构造函数
    C++/oop指针
    CS61A pyhton高阶函数/lambda
    CS61A PythonBool/if/循环
    c++/oop对象指针/this指针/静态成员/封闭类
    案例实战:B站视频、淘宝购物 短链接跳转
    案例实战:微信抢红包
  • 原文地址:https://www.cnblogs.com/asis/p/spring-boot-freemarker-mybatis-for-beginner.html
Copyright © 2020-2023  润新知