從零一塊兒學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初體驗

相關文章
相關標籤/搜索