Spring Data Rest/HATEOAS without Spring Boot/MVC - spring-mvc

Is it possible to use Spring Data Rest/HATEOAS without Spring Boot, Spring MVC on an persistence storage based application. If so how can this be done?

The short answer is Yes. This has been around even before Spring Boot.
The important thing is to ensure the API jars are on your classpath. Get the latest release of Hateoas here and latest release of Spring Data JPA here and add to the classpath. Just pick from the setup you are using (e.g., Maven, Gradle).

Related

How to hack latest Spring Framework for OSGi?

Right now we are developing IHE HL7 Integration Project. Where lots of micro-services and dependencies. It's developed by using Apache Camel 2.18.4, Spring Framework 4.3.10.RELEASE on top of Spring Boot 1.5.6.RELEASE.
It's a combination of Spring Boot Standalone web application, grew larger and unmanageable. Our thought is to make it modularize by the support of OSGi bundle using Blueprint on top of Spring Framework 4.3.10.RELEASE and Spring Boot 1.5.6.RELEASE.
It's would be the best if we are able to hack OSGi bundle with reusable Spring Context, Persistance(JPA, MyBatis) and Transaction.
It's impossible to dive fully into Blueprint instead of Spring Framework. Only want to use the flavor of Blueprint to make our Spring Application modularize, loosely couple and JMX compliance. For example modularize by its:
Bundles for Service
Bundles for Persistence
Bundles for Spring Component
Bundles for Camel Component/Endpoint
Bundles for Utilities/Miscellaneous
In this perspective we expect the right opinion from the expertise what's the feasibility of our thought. Guideline and reference highly expected.

Struts migration to Spring MVC - via Spring Boot

We are in the initial stages of converting a Struts 1.2.9 application to Spring MVC. While the impact has been analyzed and well documented and understood for this migration, we are uncertain if we should introduce Spring Boot in this equation.
I have been reading other threads and would like to state that we are not looking to integrate Struts with Spring - rather we are for sure migrating and moving out of Struts to Spring MVC.
Given this background, invite suggestions/thoughts around below:
Benefit of introducing Spring Boot in this process is more of a distant one of an eventual move to Cloud. As such the team has completed the initial configuration required for a Spring application (like web.xml, required jars, spring-servlet.xml) and not sure of immediate benefits for us.
In case we decide to use Spring Boot in this process, we perceive the impact to be:
i. Add spring-boot-starter-web to our gradle build.
ii. Create a starter Application class
iii. Revisit configurations in web.xml like startup servlets using 'SpringBootServletInitializer'
iv. Continue to use a war based traditional deployment using gradle war plugin. Does this package the spring based libraries into the war or should the libraries be on the server classpath?
I welcome thoughts/suggestions/rejections of this as an approach itself :).

Using Spring Cloud Foundry project with a plain java web project

We have a plain java web project with some servlets, some JPAs and our logic.
We want to move to Cloud Foundry . I have learnt that Spring boot comes up with a lot of nice cloud foundry features out of the box like support for CF environment variables parsing, CF service broker API implementation.
Now i don't want to move to Spring MVC since we already have the application running with plain java web framework.
Can i still use Spring cloud foundry related projects to take advantage of Cloud Foundry related features like parsing of env variables ?
Are they internally dependent on Spring core, spring mvc projects ? Will including the Spring Cloud Foundry project bloat my total deployable war size due to all internal spring dependencies.
Best Regards,
Saurav
A lot of this depends on exactly which features you want to use. The awesomeness you get from Spring Boot requires Spring & so it won't transfer to your app unless you embrace & use Spring. The same goes for Spring Cloud.
You specifically mentioned parsing service information from environment variables (i.e. VCAP_SERVICES & VCAP_APPLICATION). This is the one exception that comes to mind. You can use Spring Cloud Connectors in a limited capacity without Spring. See this link for details. It's not as full-featured as what you'd get if you were using Spring & Spring Boot, but it will give you some help.
If you don't want to use SCC, you can always parse the environment variables yourself and use the data. It's conceptually very easy. Both VCAP_APPLICATION & VCAP_SERVICES are environment variables and the value is a JSON blob so all you need to do is parse the JSON and locate the information that you need.
Hope that helps!

How can I add webflow using Spring Boot and Thymeleaf?

I have written a Spring web app for baseball umpires using Spring Boot and Thymeleaf. I like Spring Boot because it resolves dependency w/o a lot of configuration. Now I want to add Sprng WebFlow so umpires can order uniforms, a typical "shopping cart" application. There are many examples on the web but none using Spring Boot. They all are the traditional xml config with jsp and jstl. Has anyone used Spring Boot and WebFlow? There are WebFlow examples on the official Spring web site but very complicated. Thanks Rob
Spring Roo 2.0.0.M3 generates Spring Boot applications and integrates Spring Web Flow easier than ever.
The reference guide includes detailed descriptions of all the features, plus an extensive user guide for main use cases.

Connecting Spring + JPA web application with MySQL

I have been reading how to make web application using spring from the Getting Started Guides, specifically the following guides:
Serving Web Content with Spring MVC
Accessing Data with JPA
But I could not figure how the JPA selected which database driver to store data into.
How can I connect to MySQL database in Spring + JPA.
I learned about Spring + Java Annotations (No XML configurations)
The guides you mention all use Spring Boot.
Spring Boot is a new Spring project that is used for bootstrapping Spring projects. In your case it will auto-configure the datasource for you. Specifically if you have H2 or HSQL on the classpath, Spring will create that in-memory database.
You can easily override the defaults provided by Spring Boot by adding the following properties to application.properties:
spring.datasource.url=jdbc:mysql://whateverhost/whateverdbname
spring.datasource.username=dbuser
spring.datasource.password=dbpass
spring.datasource.driverClassName=com.mysql.jdbc.Driver
For more information check out the relevant documentation.
Or you can check out this tutorial

Resources