The projects in large enterprises usually span multiple development teams and environments. Lately, they even span continents. Many large projects often follow specific development methodologies such as RUP or Agile in order to help development managers and teams deal with the scope and keep the projects on track. Traditional software development life cycle (SDLC) involved several environments such as development, test/QA, and production; however, globalization and new development methodologies necessitate more environments such as staging, AUT (user acceptance testing), system integration, etc.

Figure 1: Traditional SDLC environments

Figure 2: SDLC environments following Agile or RUP methodologies
In this article you will learn about the deployment environment configurations with Java Spring, which maintains integrity of the build process among various environments. The approach can be applied in any project using Java and is one of the development best practices. The concept behind deployment environment configuration should fulfill two objectives. First, the project/code base should use specific settings depending on the environment. Second, after the code is build into initial environment, it should not be rebuild based on the environments where its being deployed.
For example, a Java project in a development environment should use a development database and a set of development Web services. The same code promoted to QA should use another (test) database and test Web services. Obviously when the project is moved to production, all data sources in the environment should be production strength.
Read the Rest of this Article at Developer.com