以前写过LayIM的.NET版后端实现,后来又写过一版Java的。当时用的是servlet,websocket和jdbc。虽然时间过去好久了,可是仍有些同窗在关注。偶然间我据说了SpringBoot这么个东东,听说是省去了不少繁杂的配置。能够傻瓜式的建立项目,轻轻松松作出一个网站来,那么出于我对LayIM的情有独钟,因而乎想借用它来帮助我学习SpringBoot,而且全程记录,省的之后再走弯路和掌握解决问题的方法。(固然,我也是新手,个人解决方法就是百度,stackovreflow等网站) 写了一天.NET的代码,晚上回家搞搞java也是蛮有意思的事情嘛,哈哈。html
固然因为是初学,个人理解也只是应用层面,深刻不了,还请各位大大批评指正和提供更加优雅的使用方法。前端
LayIM不在多说,不太了解的去官网看看便知。http://layim.layui.com/ 。固然他是一套比较好看且成熟的前段IM框架,因此学习过程当中没必要过多关注前端的东西,只要好好去学习SpringBoot就OK,不过好在我已经比较熟悉LayIM了,因此文章中不会过多的讲解它。java
因为以前在某网站学习了SpringBoot基础,本身搭建好了环境。以下:mysql
操做系统:Windows 10 X64web
开发工具:IntelliJ IDEA ULTIMATE 2017.2spring
数据库:MySQL5.7 ,客户端:MySQL Workbenchsql
JDK:1.8.0_131数据库
MAVEN:3.5.0json
咱们先建立一个基于Maven的空项目。后端
继续:
继续,能够看到,已经生成了标准的maven项目。
咱们使用spring boot,固然要在pom.xml中加入对springboot的依赖。(参考官网)
而后加到咱们本身的配置文件中。以后咱们还要使用数据库(mysql)和 spring boot jpa,因此将这些依赖也加上
加完以后,记得Reimport。
你们都知道,通常程序的入口都是一个Main函数,spring boot 也不例外。建立咱们的application。加上SpringBootApplication 注解。
package com.fyp.layim; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * @author fyp * LayimApplication * */ @SpringBootApplication public class LayimApplication { public static void main(String[] args){ SpringApplication.run(LayimApplication.class,args); } }
哦了,到此为止,咱们运行一下。
出错喽,不要紧。大概意思是,不能那啥database driver class NONE(好吧,我也不知道什么意思)。我把它能够理解为,你尚未配置好数据库。ok,在Resource目录下新建一个application.yml,加上数据库配置(最简版)
先加这么多吧。咱们在运行一下。
根据以前看的视频,这个错误应该是没有对应的数据库。打开MySQL客户端建立一个。库名 Layim。
数据库建立完了,从新启动。perfect
到如今呢,不着急写代码,先把文件结构搭建好,我本身搭建了一下,大概初始结构是酱紫的。(固然,刚开始不全,后期会慢慢补上或者扩充,最终杂乱不堪。。。)
如今咱们试一下数据库的链接,新建一个User类,而后加上@Entity注解,启动项目,能够看到数据库自动帮助咱们创建好了。(User.java 略)
哦了,如今数据库也通了,程序也能跑起来了,如今咱们把layim代码放进来。这里涉及到一个spring boot 对静态资源的处理问题。详情能够参考:http://blog.csdn.net/catoop/article/details/50501706
把Layim源码下载下来后,只要压缩的部分,放到 /Resource/static 目录下。正常状况下,能够直接在浏览器中访问的。好比 /layui.js
因为我本身加了个layim文件夹致使我各类访问index.html不成功
后来查了不少资料终于搞出来,原来要本身定义映射。
package com.fyp.layim.common.config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; /** * @author fyp * @crate 2017/11/1 20:28 * @project SpringBootLayIM */ @Configuration //@EnableWebMvc 千万不要加这个,不然static 下的也访问不到了。(具体缘由我也不知道) public class LayimConfig extends WebMvcConfigurerAdapter { /** * 根目录指向index.html * */ @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addRedirectViewController("/","/layim/index.html"); } /** * 本身定义的静态资源映射到layim文件夹 * */ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/layim/**").addResourceLocations("classpath:/layim/"); super.addResourceHandlers(registry); } }
调整好index的代码,路径等。而后将demo中的json文件夹也copy到layim下,大功告成。
喜欢代码规范的同窗能够安装阿里巴巴的代码规范插件。File=>setting => plugins => browser repositories=>search alibaba.可让你写出更加整洁的代码哦
本篇主要讲解了项目的初衷和一个简单的项目搭建。我也是一个spring boot初学者,甚至我连hibernate,spring mvc 也没有用过,不过没有关系,开始去作就行了。小伙伴们今天就到这里了。
下篇预告:从零一块儿学Spring Boot之LayIM项目长成记(二) LayIM初体验