github project Address: https://github.com/niaobulashi/niaobulashi
springboot learn Address: http://www.ityouknow.com/spring-boot.html
shiro learn Address: https://jinnianshilongnian.iteye.com/blog/2018398
Welcome to the star, fork, explore learning together
project instruction
- Using SpringBoot, MyBatis, Shiro framework, developed a set of permissions system, the threshold is very low, and brought the box. Design at the beginning, great emphasis on security, enterprise systems escort, so that everything becomes so simple.
- Provides a code generator, just write about 30% of the code, the rest of the code to the system automatically generates, it can quickly complete the development tasks
- Support for MySQL, Oracle, SQL Server, PostgreSQL and other mainstream database
Project structure
niaobulashi
├─niaobulashi-admin 管理后台
│ ├─db 数据库SQL脚本
│ │
│ ├─modules 模块
│ │ ├─job 定时任务
│ │ ├─oss 文件存储
│ │ └─sys 系统管理(核心)
│ │
│ └─resources
│ ├─mapper MyBatis文件
│ ├─statics 静态资源
│ ├─template 系统页面
│ │ ├─modules 模块页面
│ │ ├─index.html AdminLTE主题风格(默认主题)
│ │ └─index1.html 主题风格
│ └─application.yml 全局配置文件
├─niaobulashi-api API服务
├─niaobulashi-common 公共模块
├─niaobulashi-dynamic-datasource 多数据源
├─niaobulashi-generator 代码生成器
│ └─resources
│ ├─mapper MyBatis文件
│ ├─template 代码生成器模板(可增加或修改相应模板)
│ ├─application.yml 全局配置文件
│ └─generator.properties 代码生成器,配置文件
│
Project Module
- niaobulashi-common as a common module, other modules in the form introduced into the jar package, mainly to provide some tools, and renren-admin, renren-api module public entity, mapper, dao, service service, a function of preventing rewriting the plurality of times code.
- niaobulashi -admin as background module is the core of the system, to develop background management system, can be packaged into JAR, deployed to the server is running, or packaged into WAR, run into the container Tomcat8.5 +.
- niaobulashi -API interface module is mainly to simplify the development of APP, such as: providing a micro-channel interface applet, IOS, Android, system user has a separate, not shared with renren-admin user table since the user list renren-admin is stored in the internal personnel account with administrator privileges back, you can log back office systems, and renren-api user table is stored in our real user does not have permission to log back office systems. renren-api is to achieve a user registration, login, the interface certification authority, access to features such as user login, calling for the safety APP interface, providing a set of elegant solutions to simplify interface development APP.
- niaobulashi -generator a code generator module, just in the MySQL database, table structure is created, you can generate add, modify, delete, search, export and other operations of the code, including entity, mapper, dao, service,page and all the code, project development artifact. Can be run as a separate project, I have this part of the module ported to niaobulashi -admin
Technology Selection
- The core framework: Spring Boot 2.1
- Security framework: Apache Shiro 1.4
- View framework: Spring MVC 5.0
- Persistence framework: MyBatis 3.5
- Timer: Quartz 2.3
- Database connection pool: Druid 1.1
- Log Management: SLF4J 1.7, Log4j
- Page interaction: Vue2.x
Software Requirements
- JDK12
- MySQL5.5+
- Maven3.0 +
Local Deployment
- idea by: https://github.com/niaobulashi/niaobulashi carried out to a local clone
- In the project directory: resources / db find the database file to the local deployment
- Modify the configuration file application-test.yml, local database instead of a user name and password
- Direct start, visit: localhost: 8080
Linux deployment
- Packaged into jar, packaged items in the main niaobulashi, mvn clean install
- Jar package will generate the corresponding item, on the Linux target directory, execute java -jar package name
You may encounter problems running
- Start possible error, mysql strictly case-sensitive, you may not find the table, Solution: MySQL is not case sensitive
- No /tmp/spring.log directory permissions, the solution: the root user, add write permissions sudo chmod 777 spring.log
- Landing page code garbled reasons: linux is not installed fonts Solution: Linux install fonts
According to the project information Screenshot
ps: Daily management module has no real function, menu knowledge of it, post maintenance
Welcome to discuss and learn together