Spring Framework Brief Overview

Spring Framework Brief Overview

History

Spring is a framework for Java Enterprise Application Development. It started in 2003, at that time Java offers J2EE for enterprise applications but it was complex and hard to use. Spring Framework was developed as a response to that complexity. Spring grew in popularity and became a defacto standard for Java enterprise application development.

What do we mean by Spring?

Initially, the Spring framework was a single project which provides enterprise application development features alongside Dependency Injection, but over time it grew into a full ecosystem of related projects for different aspects of an application. For example, we have Spring Web MVC for web-related tasks, Spring Data for data management, Spring Security for application security, and so on. Here is the full list of Spring projects from official site. Now when we say "Spring" we are referring to the whole eco-system of Spring-based related projects.

How to use Spring?

Since there are different projects offered by Spring, configure them properly could be a challenge, even for experienced developers. To overcome this, Spring provides a project called Spring Boot for bootstrapping a Spring application. Spring Boot takes away all of the complexity of setting up a spring application and you can configure any Spring related project with minimum or no configuration. Spring prefers convention over configuration, so most of the features just work right out of the box with no additional configuration required.

Conclusion

Spring Framework started as a Java Enterprise application development framework which grew in popularity and today it has become an eco-system of related projects. Spring Boot is a spring project for bootstrapping a spring application and hides the complexity of configuring different Spring projects together. Spring prefers convention over configuration and most features just work with minimum or no configuration.

Originally published at All About Spring Framework.

要查看或添加评论,请登录

Muhammad Asher Toqeer的更多文章

  • Modern Java as Data-Oriented Language

    Modern Java as Data-Oriented Language

    Java, at its core, is an Object Oriented Language. But, Object Oriented Programming alone can't solve all of the…

  • Java Modules Introduction

    Java Modules Introduction

    Classes are the basic unit of a program in Java. Packages are used to manage classes and modulesare used to manage…

  • Handling Mistakes as a Developer

    Handling Mistakes as a Developer

    This article is based on "A Pragmatic Philosophy" from the book: "The Pragmatic Programmer". Mistakes are Inevitable.

  • Java 8 Functional Programming Simplified

    Java 8 Functional Programming Simplified

    This article will explain Java 8 functional programming related concepts, i.e Lambda expressions, Functional…

  • 3 Years being a Software Engineer, Here are some things I have learned

    3 Years being a Software Engineer, Here are some things I have learned

    Life is a journey, so as your carrier and like every other journey, your carrier teaches you a lot of things. Here are…

    2 条评论
  • MVC and MVCS : Software Engineering

    MVC and MVCS : Software Engineering

    In previous article Architectural vs Design Patterns: Software Engineering we discussed in detail about what…

    2 条评论
  • Architectural vs Design Patterns: Software Engineering

    Architectural vs Design Patterns: Software Engineering

    Software design patterns are some proven ways to solve a reoccurring problem faced by programmers. These are general…

    2 条评论
  • Variable Names, Some tips

    Variable Names, Some tips

    Variables can be your best friend, or your worst enemy and that depends on You. If you are not careful and just…

    2 条评论
  • Meaningful Class Names

    Meaningful Class Names

    This article is about naming classes, mainly it is about "how to meaningfully name your classes" remember in…

    3 条评论
  • Function Names, do it right

    Function Names, do it right

    In programming, naming identifiers (class, method, variable names) is one of the most crucial part of writing code. If…

    7 条评论

社区洞察

其他会员也浏览了