# 傻瓜式快速入门
## 目录
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项目:

编辑`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`配置

```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. 创建启动类

```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`启动应用

打开浏览器访问 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}
```
