https://github.com/kolorobot/spring-mvc-quickstart-archetype
The project is a Maven archetype for Spring MVC web application.
https://github.com/kolorobot/spring-mvc-quickstart-archetype
Last synced: 7 months ago
JSON representation
The project is a Maven archetype for Spring MVC web application.
- Host: GitHub
- URL: https://github.com/kolorobot/spring-mvc-quickstart-archetype
- Owner: kolorobot
- Created: 2012-01-07T21:53:23.000Z (almost 14 years ago)
- Default Branch: master
- Last Pushed: 2022-12-29T07:41:46.000Z (almost 3 years ago)
- Last Synced: 2025-04-08T11:11:12.602Z (8 months ago)
- Language: Java
- Homepage: http://blog.codeleak.pl
- Size: 1.12 MB
- Stars: 1,045
- Watchers: 105
- Forks: 475
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- useful-java-links - Kolorobot Spring MVC 4 Quickstart Maven Archetype - mvc-quickstart-archetype.svg?style=social&label=Star&maxAge=2592000)](https://github.com/kolorobot/spring-mvc-quickstart-archetype). (I. Development / 2. Web development)
README
Spring MVC Quickstart Maven Archetype
======================================
Summary
-------
The project is a Maven archetype for Spring MVC web application.
Generated project characteristics
-------------------------
* No-xml Spring MVC web application
* Thymeleaf, Bootstrap
* JPA (Hibernate/HSQLDB/Spring Data JPA)
* JUnit/Mockito
* Spring Security
* MongoDB (Spring Data Mongo)
Prerequisites
-------------
- JDK 8 (tested with Java 11)
- Maven 3 (tested with 3.6.0)
Create a project
----------------
```bash
mvn archetype:generate \
-DarchetypeGroupId=pl.codeleak \
-DarchetypeArtifactId=spring-mvc-quickstart \
-DarchetypeVersion=5.0.1 \
-DgroupId=my.groupid \
-DartifactId=my-artifactId \
-Dversion=version \
-DarchetypeRepository=http://kolorobot.github.io/spring-mvc-quickstart-archetype
```
Note: The above command will bootstrap a project using the archetype published here: http://kolorobot.github.io/spring-mvc-quickstart-archetype
Run the project
----------------
Navigate to newly created project directory (`my-artifactId`) and then run:
```bash
mvn test tomcat7:run
```
> Note: I do not recommend this way of running the artifact. Tomcat Maven Plugin Version 2.2 was released on 2013-11-11
Test in the browser
-------------------
http://localhost:8080/
Note: No additional services are required in order to start the application. Mongo DB configuration is in place but it is not used in the code.
Create a new project in IntelliJ
--------------------------------
* Create new project `File > New > Project`
* Click Maven on the left hand side of the new project dialog
* Check `Create from archetype`
* Click the `Add Archetype` button
* Set `Group Id` to `pl.codeleak`
* Set `Artifact Id` to `spring-mvc-quickstart`
* Set `Version` to `5.0.1`
* Set `Repository` to `http://kolorobot.github.io/spring-mvc-quickstart-archetype`
* Click next and create the project
Note: If you would like to create a project using archetype published in your local repository, skip repository field and make sure it is installed locally (see below).
Creating a new project in Spring Tool Suite
-------------------------------------------
* Create new project `File > New > Maven Project`
* Make sure `Create a simple project` option is not selected
* Click `Next` to navigate to `Select an Archetype` screen
* Make sure `Include snapshot archetypes` is selected
* Click `Add Archetype` button
* Set `Archetype Group Id` to `pl.codeleak`
* Set `Archetype Artifact Id` to `spring-mvc-quickstart`
* Set `Archetype Version` to `5.0.1`
* Set `Repository URL` to `http://kolorobot.github.io/spring-mvc-quickstart-archetype`
* Click `OK` so the Archetype is added to the list
* Click `Next` and fill in `Group Id`, `Artifact Id` and `Version` of your new project
Note: Remember so select `Include snapshot archetypes`.
If you have any troubles with installation in Eclipse, you may want to have a look at this issue: #74
Install archetype locally
-------------------------
To install the archetype in your local repository execute the following commands:
```bash
git clone https://github.com/kolorobot/spring-mvc-quickstart-archetype.git
cd spring-mvc-quickstart-archetype
mvn clean install
```
Create a project from a local repository
----------------------------------------
Create a new empty directory for your project and navigate into it and then run:
```bash
mvn archetype:generate \
-DarchetypeGroupId=pl.codeleak \
-DarchetypeArtifactId=spring-mvc-quickstart \
-DarchetypeVersion=5.0.1 \
-DgroupId=my.groupid \
-DartifactId=my-artifactId \
-Dversion=version
```
Note: The above command will bootstrap a project using the archetype published in your local repository.
Switching to PostgreSQL
-----------------------
* Add dependency to PostgreSQL driver in POM:
```
org.postgresql
postgresql
9.4.1207
```
* Change `persistence.properties`:
```
dataSource.driverClassName=org.postgresql.Driver
dataSource.url=jdbc:postgresql:postgres
dataSource.username=postgres
dataSource.password=postgres
hibernate.dialect=org.hibernate.dialect.PostgreSQL9Dialect
hibernate.hbm2ddl.auto=create
hibernate.show_sql=true
hibernate.format_sql=true
hibernate.use_sql_comments=true
```
Enabling MongoDB repositories
-----------------------------
* Open MongoConfig class and uncomment the following line:
```
// @EnableMongoRepositories(basePackageClasses = Application.class)
```
Now you can add repositories to your project:
```
@Repository
public interface MyRepository extends MongoRepository {
}
```