Life without Spring
– I will take my own example, when I was working on my first application for enterprise application, I have to create a component for my application which will be performing the customer management, at that time EJB was on boom, so I have chosen EJB to create this component, to start I have created several classes like Home interface, local interface and bean, additionally i have to create deployment descriptor for the bean created. Now I was afraid since 20+ number of component were still need to be created, so after analyzing and research I got to know about the XDoclet, which helps me in creating my component’s supporting files with some clicks. it would feel like very easy and comfortable to build application.
Now, I have to look into the component’s business logic. After implementing the business logic in component, I was looking to test my logic, I was run the container and verify the test case, but fail to verify due to some issue in code, I change it and again i have to deploy the code and run container again, after so many iterations I felt another problem in our software creation cycle with EJB. Some how I manage to test the all scenarios for the applications and successfully delivered it on time, with so much effort and problems.
I used to compile all my mistakes and problem faced during the development of application after application delivered. Please see below what I have written:
- Discomfort in creating Component’s Multiple supporting files
- Testing Slow, Re-starting the Container.
EJB, why to use EJB, only and only service it provide. Otherwise its really very painful to create multiple files. I was so much afraid that I swear not to use EJB in my future application creation, but I was not alone to decide which technology needs to be used, else I was not gonna use it again.
How Spring help?
– Spring helps developer to minimize the effort of creating the an enterprise application, which EJB doesn’t provide the service to developer. So Spring strives to be deliver the best services to developer which makes Spring developers favorite and simplifying the development model of creating an J2EE enterprise application.
Spring is helping to developer with the given below philosophy:
- Designing of an application is more important then underlying technology used.
- Loosely coupled design with Interface is a good model.
- Code should be easy to test.
What is Spring?
– Spring is an open source framework, written by Rod Jhonson and explain the framework in his book
“Expert One-on-One: J2EE Design and development”. According to Jonson, Spring is created to address to handle the complexity of application.
Spring is a light-weight IOC and AOP container framewok. Now we will check what exactly Spring gonna do to make developer’s life easy, Spring can be characterized into 5 as below:
Aspect Oriented Programming, This is concept introduced in Spring which separate application’s Business logic with other system related codes(like Transaction, Exception handling and Audit trails) which was applied with business logic till now.
Container, Spring handle and control the objects life cycle, which makes it work like container.
Framework, Spring makes it possible to configure and compose complex application from simpler components. In spring, application objects are composed decoratively, typically in an XML file.
Now Lets talk about Spring Modules, there are below types of modules in Spring:
- O/R Mapping
- JDBC and DAO
- Web Context and Utility
- Application Context
- MVC Framework
- Core Container and Supporting Utilities
Must Read Articles: