Recently, I have plenty of spare time and want to develop a small system. Accumulate as own technology
The back-end uses Spring+SpringMVC+Mybatis framework, and the front-end uses Vue+iView as the basis to develop a SPA application with separated front-end and back-end
content
1. Environment construction
1.1 Maven+Nexus builds a background build environment
1.2 webpack builds a back-end build environment
2. Front-end development
3. Back-end development
Introduction to the environment
Because it is a small project for personal practice, the development environment design is also simple. The physical environment includes a dbServer, a configuration server, and an application server
server nickname | Server IP | operating system | Deploy content |
dbServer | 192.168.0.112 | CentOS7 | Mysql5.7 |
Operation and maintenance server | 192.168.0.110 | CentOS7 | nexus3.9 |
appServer | 192.168.0.111 | CentOS7 | tomcat8、redis |
Personal PC | 192.168.0.103 | MacBook Pro | IDEA、WebStorm、DataGrip、MAVEN、tomcat8、VirtualBox、jdk8、Dash |
This is basically the case, as for how to install there is a lot of information on the Internet. Two tools are recommended
DataGrip: As a database client tool, compared with Sequel Pro and Navicat used in the past , its prompt function is very powerful, and it provides many small functions to improve work efficiency. It is the same as IDEA, which is very good!
WebStorm: Also from IntelliJ, a front-end development tool. Similar to it is atom produced by apache, and I have used both of these tools. The latter is more customizable and there are many plugins available, but it takes time to research. I was lazy so I chose WebStorm that was configured from the factory.
Technical selection
rear end:
Spring+SpringMVC+MyBatis, google's GSON is used for object serialization, and Mybatis's SqlBuilder is used to encapsulate the CRUD used
Unit testing with testNG
front end:
Choose the recently popular Vue as the front-end framework, use the officially recommended iView as the UI library, use Vue's Vue-Router for routing, and use axios, less, es6 for asynchronous requests