SpringBlog is a very simple and clean-design blog system implemented with Spring Boot. It's one of my learning projects to explore awesome features in Spring Boot web programming. You can check my blog site for demo https://raysmond.com.
SpringBlog is powered by many powerful frameworks and third-party projects:
- Spring Boot and many of Spring familiy (e.g. Spring MVC, Spring JPA, Spring Secruity and etc)
- Hibernate + MySQL
- HikariCP - A solid high-performance JDBC connection pool
- Bootstrap - A very popular and responsive front-end framework
- Pegdown - A pure-java markdown processor
- ACE Editor - A high performance code editor which I use to write posts and code.
- Redis - A very powerful in-memory data cache server.
- Thymeleaf (Spring MVC)
Before development, please install the following service software:
Edit the spring config profile
src/main/resources/application.yml according to your settings.
And start MySQL and Redis first before running the application.
# If you're using Ubuntu server # Install MySQL apt-get install mysql-server service mysql start mysql -u root -p >> create database spring_blog;
This is a Gradle project. Make sure Gradle is installed in your machine.
gradle -v command. Otherwise install in from http://www.gradle.org/.
I recommend you import the source code into Intellij IDE to edit the code.
# Start the web application ./gradlew bootRun
How to import the project into Intellij IDEA and run from the IDE?
git clone https://github.com/Raysmond/SpringBlog.git cd SpringBlog bower install
- Clone the project
- Download all dependencies
- Open the project in Intellij IDEA.
SpringBlogApplication.javaas Java application.
- Preview: http://localhost:8080
Admin: http://localhost:8080/admin , the default admin account is:
Lombok is required to run the project. You can install the plugin in Intellij IDEA. Reference: https://github.com/mplushnikov/lombok-intellij-plugin
Build application jar
./gradlew build, then upload the distribution jar (e.g.
build/libs/SpringBlog-0.1.jar) to your remote server.
application-production.ymlto your server and change it according to your server settings.
Run it (Java8 is a must)
java -jar SpringBlog-0.1.jar --spring.profiles.active=prod # OR with external spring profile file java -jar SpringBlog-0.1.jar --spring.config.location=application-production.yml
- Upgrade frontend framework to Bootstrap4
- Replace Jade with Thymeleaf(HTML)
- Frontend building tools, e.g. webpack
- Use hibernate 2nd level cache (EHCache?)
- Markdown preview while editing
- Html editor
Modified BSD license. Copyright (c) 2015 - 2018, Jiankun LEI (Raysmond).