Skip to main content

Home/ ProgrammingPages/ Group items tagged spring

Rss Feed Group items tagged

Navneet Kumar

Java(TM) Boutique - The Spring Framework - 0 views

  • spring does not impose itself wholly on to the design of a project. Spring is modular and has been divided logically into independent packages, which can function independently.
  • encourages users to introduce Spring into existing applications in a phased manner. So no matter what kind of framework you are using now Spring will co-exist with it without causing you nightmares and further more Spring will allow you to choose specific packages in Spring.
Navneet Kumar

http://www.theserverside.com/tt/articles/content/SpringFramework/article.html - 0 views

  • Spring has a layered architecture, meaning that you can choose to use just about any part of it in isolation, yet its architecture is internally consistent
  • it's easy to introduce Spring incrementally into existing projects
  • Inversion of Control and Dependency Injection
  • ...2 more annotations...
  • POJO-based programming model
  • EJB interception
  •  
    Introduction to the J2EE spring framework with test driven development
Navneet Kumar

The Spring Framework - Reference Documentation - 0 views

  •  
    The Spring Framework - Reference Documentation
Navneet Kumar

Inversion of Control Containers and the Dependency Injection pattern - 0 views

  • The main difference is that I expect a component to be used locally (think jar file, assembly, dll, or a source > > i mport). A service will be used remotely through some remot >e > i nterface, either synchronous or asynchronous > >
  • configuration through XML files and also through code
    • Navneet Kumar
       
      or can be stored in a DB table
  • dynamic service locator
  • ...16 more annotations...
  • Dependency injection and a service locator aren't necessarily mutually exclusive concepts.
  • With service locator the application class asks for it explicitly by a message to the locator. With injection there is no explicit request, the service appears in the application class - hence the inversion of control.
  • with a Service Locator every user of a service has a dependency to the locator. The locator can hide dependencies to other implementations, but you do need to see the locator.
  • In this kind of scenario I don't see the injector's inversion as providing anything compelling.The difference comes if the lister is a component that I'm providing to an application that other people are writing. In this case I don't know much about the APIs of the service locators that my customers are going to use. Each customer might have their own incompatible service locators
  • Since with an injector you don't have a dependency from a component to the injector, the component cannot obtain further services from the injector once it's been configured.
  • frameworks should minimize their impact upon application code, and particularly should not do things that slow down the edit-execute cycle. Using plugins to substitute heavyweight components does a lot help this process, which is vital for practices such as Test Driven Development.
  • a more general issue with object-oriented programming - should you fill fields in a constructor or with setters.
  • Another advantage with constructor initialization is that it allows you to clearly hide any fields that are immutable by simply not providing a setter. I think this is important - if something shouldn't change then the lack of a setter communicates this very well
  • The problem with classic Factory Methods for components assembly is that they are usually seen as static methods, and you can't have those on interfaces. You can make a factory class, but then that just becomes another service instance. A factory service is often a good tactic, but you still have to instantiate the factory using one of the techniques here
  • Factory Methods
  • start with constructor injection, but be ready to switch to setter injection
  • One case is where you have a simple application that's not got a lot of deployment variation. In this case a bit of code can be clearer than separate XML file.
  • configuration files or code on an API to wire up services
  • the Java world at the moment is a cacophony of configuration files,
  • using aspect oriented ideas with these containers
    • Navneet Kumar
       
      Aspect Oriented Programming AOP. can be possible with IoC.
  • When building application classes the two are roughly equivalent, but I think Service Locator has a slight edge due to its more straightforward behavior. However if you are building classes to used in multiple applications then Dependency Injection is a better choice.
  •  
    article by martin fowler on Inversion of control and dependency injection design patterns which are used in the spring framework.
1 - 5 of 5
Showing 20 items per page