# spring-mvc-quickstart-archetype **Repository Path**: xiaoli123/spring-mvc-quickstart-archetype ## Basic Information - **Project Name**: spring-mvc-quickstart-archetype - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2017-03-02 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Spring MVC 4 Quickstart Maven Archetype ========================================= Summary ------- The project is a Maven archetype for Spring MVC 4 web application. Generated project characteristics ------------------------- * No-xml Spring MVC 4 web application * Thymeleaf, Bootstrap * JPA (Hibernate/HSQLDB/Spring Data JPA) * JUnit/Mockito * Spring Security * MongoDB (Spring Data Mongo) Prerequisites ------------- - JDK 8 - Maven 3 Create a project ---------------- ```bash mvn archetype:generate \ -DarchetypeGroupId=pl.codeleak \ -DarchetypeArtifactId=spring-mvc-quickstart \ -DarchetypeVersion=1.0.0 \ -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 ``` 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 `1.0.0` * 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 `1.0.0` * 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=1.0.0 \ -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 { } ```