从零一块儿学Spring Boot之LayIM项目长成记(一) 初见 Spring Boot

项目背景

  以前写过LayIM的.NET版后端实现,后来又写过一版Java的。当时用的是servlet,websocket和jdbc。虽然时间过去好久了,可是仍有些同窗在关注。偶然间我据说了SpringBoot这么个东东,听说是省去了不少繁杂的配置。能够傻瓜式的建立项目,轻轻松松作出一个网站来,那么出于我对LayIM的情有独钟,因而乎想借用它来帮助我学习SpringBoot,而且全程记录,省的之后再走弯路和掌握解决问题的方法。(固然,我也是新手,个人解决方法就是百度,stackovreflow等网站) 写了一天.NET的代码,晚上回家搞搞java也是蛮有意思的事情嘛,哈哈。html

  固然因为是初学,个人理解也只是应用层面,深刻不了,还请各位大大批评指正和提供更加优雅的使用方法。前端

关于LayIM

  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下,大功告成。

  

小tips

  喜欢代码规范的同窗能够安装阿里巴巴的代码规范插件。File=>setting => plugins => browser repositories=>search alibaba.可让你写出更加整洁的代码哦

  

总结

  本篇主要讲解了项目的初衷和一个简单的项目搭建。我也是一个spring boot初学者,甚至我连hibernate,spring mvc 也没有用过,不过没有关系,开始去作就行了。小伙伴们今天就到这里了。

  下篇预告:从零一块儿学Spring Boot之LayIM项目长成记(二) LayIM初体验

相关文章
相关标签/搜索