# 傻瓜式快速入门 ## 目录 1. [前言](#前言) 2. [创建项目](#创建项目) 3. [引入hsweb](#引入hsweb) ## 前言 `hsweb`是基于`java8`,`spring-boot`,`mybatis`开发.所以在开始使用`hsweb`的前,你至少应该掌握以下技术:`java`,`maven`. 最好掌握以下技术:`spring-boot`,`mybatis`. 如果对以上技术一无所知,请先去各大搜索引擎学习之. `hsweb`是一个模块化的项目,对各个功能进行了细分,这是为了更好的拓展性,但是在实际业务项目中,并不需要这样的细分,因此,强烈不建议自己直接将hsweb-framework clone下来在上面添加业务代码,正确的姿势是使用maven,根据自己的需求依赖hsweb的各个模块. hsweb 目前未提供前端支持,仅有一个[demo](https://github.com/hs-web/hsweb3-demo)可供参考. 本入门教程以一个最传统的单模块项目为例子. IDE为:`Intellij IDEA` ## 创建项目 1. 新建maven项目: ![新建项目](./img/create-project.gif "新建项目") 编辑`pom.xml`,然后`reimport`.如果对maven不够熟悉,maven的设置请使用默认设置,不要在settings.xml里自己添加私服. 否则可能出现依赖无法下载的问题. ```xml 4.0.0 com.mycompany myproject 1.0-SNAPSHOT UTF-8 zh_CN 1.5.13.RELEASE 1.8 ${java.version} 3.0.0-RC-SNAPSHOT 3.0.1-SNAPSHOT ${project.artifactId} src/main/resources true org.apache.maven.plugins maven-compiler-plugin 3.1 ${project.build.jdk} ${project.build.jdk} ${project.build.sourceEncoding} org.springframework.boot spring-boot-maven-plugin ${spring.boot.version} com.mycompany.MyProjectApplication ZIP repackage org.springframework.boot spring-boot-starter-test test org.hswebframework.web hsweb-concurrent-cache ${hsweb.framework.version} org.hswebframework.web hsweb-spring-boot-starter org.springframework.boot spring-boot-starter-logging org.codehaus.groovy groovy-all mysql mysql-connector-java 5.1.40 com.alibaba druid ch.qos.logback logback-classic org.slf4j slf4j-api org.springframework.boot spring-boot-configuration-processor true org.projectlombok lombok org.hswebframework.web hsweb-framework ${hsweb.framework.version} pom import com.alibaba druid 1.0.26 org.hswebframework.web hsweb-spring-boot-starter ${hsweb.framework.version} hsweb-nexus Nexus Release Repository http://nexus.hsweb.me/content/groups/public/ true always aliyun-nexus aliyun http://maven.aliyun.com/nexus/content/groups/public/ aliyun-nexus aliyun http://maven.aliyun.com/nexus/content/groups/public/ ``` 2. 在`resources`中创建`application.yml`配置 ![application.yml](./img/create-application-yml.gif "application.yml") ```yaml server: port: 8080 spring: aop: auto: true datasource: type: com.alibaba.druid.pool.DruidDataSource driver-class-name : com.mysql.jdbc.Driver url : jdbc:mysql://localhost:3306/myproject?useSSL=false&useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false username : root password : root hsweb: app: name: my-project version: 1.0.0 logging: level: org.hswebframework.web: DEBUG org.hswebframework.web.cache: WARN org.apache.ibatis: DEBUG org.mybatis: DEBUG ``` 3. 创建启动类 ![MyProjectApplication.java](./img/create-application-java.gif "MyProjectApplication.java") ```java package com.mycompany; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * @author zhouhao * @since 1.0 */ @SpringBootApplication public class MyProjectApplication { public static void main(String[] args) { SpringApplication.run(MyProjectApplication.class,args); } } ``` 4. 创建数据库 ```sql CREATE DATABASE IF NOT EXISTS myproject default charset utf8 COLLATE utf8_general_ci; ``` 5. 执行`MyProjectApplication.main`启动应用 ![MyProjectApplication.java](./img/start-application.gif "MyProjectApplication.java") 打开浏览器访问 http://localhost:8080. 提示`Whitelabel Error Page`则说明服务启动成功. 因为现在还没有任何功能,所有提示错误信息. 到此,项目建立完成,和普通的spring-boot项目没有区别. ## 引入hsweb 以权限管理模块(`hsweb-system/hsweb-system-authorization`)为例. 在pom.xml中引入模块: ```xml org.hswebframework.web hsweb-authorization-basic ${hsweb.framework.version} org.hswebframework.web hsweb-system-authorization-starter ${hsweb.framework.version} ``` ![import-authorization-module](./img/import-authorization-module.gif "import-authorization-module")