Is there a maven 2 archetype for spring 3 MVC applications? - spring

I'm experimenting with the spring 3 MVC framework. Since i use maven 2 to manage my project, i'm searching for a archetype to create a spring 3 MVC application.

You can use STS (spring tool suite) a new spring MVC template project creates a working application using spring 3.
Or you can using Spring Roo to give a working foundation to your project.

I also couldn't find useful archetypes, so I have created my own. You can find it here. If you find anything you'd like to add, please don't hesitate to mail me or send a patch

Spring MVC quickstart archetype is available on GitHub, courtesy of kolorobot. Good instructions are provided on how to install it to your local Maven repo and use it to create a new Spring MVC project. He’s even helpfully included the Tomcat 7 Maven plugin in the archetypical project so that the newly created Spring MVC can be run from the command line without having to manually deploy it to an application server.
Kolorobot’s example application includes the following:
No-xml Spring MVC 3.2 web application for Servlet 3.0 environment
Apache Tiles with configuration in place,
Bootstrap
JPA 2.0 (Hibernate/HSQLDB)
JUnit/Mockito
Spring Security 3.1

AppFuse and AppFuse Light have been upgraded to use Spring 3 so I guess you could use one of the appfuse archetypes.
But what is exactly a Spring MVC application if not a regular webapp with some dependencies on Spring 3 artefacts?

From the springsource forum:
In Spring Source Tool Suite.
Go to New -> Other -> Spring Source Tool Suite -> Spring Template Project -> Spring MVC Project
enter the details and click Finish.

The Codehaus Maven User Archetypes List has several archetypes including two from app-fuse that use Spring MVC.

This archetype creates a Java web application that uses Spring MVC framework, Angular and Event Sourcing.
mvn archetype:generate \
-DarchetypeGroupId=no.bouvet \
-DarchetypeArtifactId=maven-archetype-eventsourcing \
-DarchetypeVersion=1.0.2 \
-DgroupId=com.domain.myapp \
-DartifactId=myapp
You can find the source here - maven-archetype-eventsourcing
And read the blogg - Get your Event Sourced web application development started with one line using Maven!

A friend and I created this spring boiler plate for SPA applications. Could perhaps be useful to you https://github.com/PabloK/SpringRESTboilerplate

What I do is create a new Spring Project and one of the selections available in STS Simple Spring Web Maven; it sets up a Spring 3 Maven webapp, just modify the pom to Spring 4 and do a clean install from the Run Config.

As far as i know it does not exist. But why didn't create your own?

Related

What is the archetype to use to build a SpringBoot project?

For years, I've used Spring Initializr (at https://start.spring.io/) to create the initial SpringBoot application and then modify it to create the app. This works fine.
Is there a maven archetype I can use to create a SpringBoot app? Or is the Spring Initializr the only way to do this.
Searching I found this:
What archetype to choose for a simple java project
Which shows the command:
mvn archetype:generate -Dfilter=org.apache.maven.archetypes:
Which gives me a list of 14 items to choose from. None of them mention SpringBoot.
The closest match is org.apache.maven.archetypes:maven-archetype-webapp, so I tried it and it created a WebApp (*.war) which is not what I'm looking for.
The aim of the Maven archetype is for generating a project skeleton. The Spring Initialiser also does the same but I think you should find it more user friendly to use when compared to executing a maven archetype command.
If you insist to use maven archetype , you can simply search Github to see if there are people share their archetypes (search result at here)
If your aim is just to use command to generate a spring-boot project skeleton , Spring Initializr actually provide an HTTP API to do it.
Also you can checkout JHipster, which is another tool to generate a spring-boot project skeleton.
You could also use Spring Boot CLI to scaffold new Spring Boot projects:
spring init --dependencies=web,data-jpa my-new-project
It works just as Spring Initializr, but on the command line.
See section 2.4 "Initialize a New Project" on Spring Boot CLI documentation here: https://docs.spring.io/spring-boot/docs/current/reference/html/cli.html#cli.using-the-cli.initialize-new-project

how to write a code for database connection from eclipse using spring. This should be a simple spring maven project without using spring boot

I am new to spring. I am not able to figure out how to write a spring project for creating DB connection using maven , without using spring -boot or hibernate. it is supposed to be a simple spring maven project.
can you help me with few sample codes.
Install the Spring tools suite plugin for eclipse from the following link.
With spring tools suite, access the spring dashboard
Select the Import Reference App, this will provide several example applications from the Spring guides, choose the example and the example will be installed onto your eclipse workspace. These examples are well documented , with clear instructions on how to run the project. Hopefully this should help you get started with learning Spring framework.

Why there is no spring project in new->file->spring but only have some other kinds of spring project such as Legacy,Roo,Starter

After I finished to add the STS to eclipse,when I just want to build a new spring project ,but there is no [spring project] under the [Spring] menu,but only:
import spring Getting started content
Spring Legacy Project
Spring Roo Project
Spring starter Project
The best way to create a new empty Spring project is to use the "Spring Starter Project" wizard. It creates a new Spring Boot project and allows you to select the boot starters that you want to use to populate the classpath of your project with the necessary libraries. Under the hood it uses http://start.spring.io.
If you would like to get started with Spring and would like to follow one of the guides from http://spring.io/guides, the "Import Getting Started Content" wizard is the best choice. It offers you to download those guides directly into your workspace and work with them.
The "Spring Legacy Project" wizard is an outdated one that allows you to create plain Spring projects that use older Spring versions. This will soon be gone in future versions.
The "Spring Roo Project" wizard uses Spring Roo under the hood, a specific technology to work with Spring projects. This is definitely not the right wizard for you if you just want to create a new Spring project (without dealing with Spring Roo in the future).
Hope this helps!

Maven 3 Archetype for Project With Spring, Spring MVC, Hibernate, JPA

I'm trying to use Maven 3 to create a project which uses Spring 3, Spring MVC, Hibernate 4, and JPA. However, when I execute:
mvn archetype:generate
Non of the archetypes listed include all of these; and even those which are close seem to be special projects such as projects with Flex. I want to avoid having extra modules such as Flex that would crowd the project and configuration files. So, is there an archetype for Maven 3 that I can use to create such a project?
A great Spring MVC quickstart archetype is available on GitHub, courtesy of kolorobot. Good instructions are provided on how to install it to your local Maven repo and use it to create a new Spring MVC project. He’s even helpfully included the Tomcat 7 Maven plugin in the archetypical project so that the newly created Spring MVC can be run from the command line without having to manually deploy it to an application server.
Kolorobot’s example application includes the following:
No-xml Spring MVC 3.2 web application for Servlet 3.0 environment
Apache Tiles with configuration in place,
Bootstrap
JPA 2.0 (Hibernate/HSQLDB)
JUnit/Mockito
Spring Security 3.1
Possible duplicate: Is there a maven 2 archetype for spring 3 MVC applications?
That said, I would encourage you to think about making your own archetype. The reason is, no matter what you end up getting from someone else's, you can do better in not that much time, and a decent sized Java project is going to end up making a lot of jar projects.
Take a look at http://start.spring.io/ it basically gives you a kick starter with either maven or gradle build.
Note: This is a Spring Boot based archetype.
With appFuse framework, you can create an Spring MVC archetype with jpa support, etc ...
Take a look at it's quickStart guide to see how to create an archetype based on this Framework.
Foundational frameworks in AppFuse:
Bootstrap and jQuery
Maven, Hibernate, Spring and Spring Security
Java 7, Annotations, JSP 2.1, Servlet 3.0
Web Frameworks: JSF, Struts 2, Spring MVC, Tapestry 5, Wicket
JPA Support
For example to create an appFuse light archetype :
mvn archetype:generate -B -DarchetypeGroupId=org.appfuse.archetypes
-DarchetypeArtifactId=appfuse-light-struts-archetype -DarchetypeVersion=2.2.1
-DgroupId=com.mycompany -DartifactId=myproject

SpringSource Tool Suite and GWT without using ROO?

I would like to know if anyone has any experience in using STS to create a Spring-enabled GWT web application without using Spring ROO.
There are 2 scenarios that I have.
I have an existing GWT application (not Spring-enabled, built in Eclipse 3.7) that I want to convert to a Spring-enabled GWT application in STS. I want STS to pick up that this is now Spring-enabled so that I can use the built-in features of STS for Spring.
Create a new GWT web application that is Spring-enabled in STS, but without using Spring ROO.
I have as of yet found no tutorials on how to do either. All the examples that point to creating a Spring-enabled GWT web application in STS use ROO to scaffold it for them.
Sorry if it is a bit unclear what I mean. Feel free to comment and I will try to explain more.
Thanks!
One possibility is to start with a Roo project, enable GWT, and then perform a push-in refactoring. This will remove the Roo dependencies and what remains is a pure spring project that uses GWT.
gwt-spring-starter-app will help you create a maven project with spring & gwt integrated. You can then import it as a maven project into STS. That should get everything correctly setup.

Resources