Introduction to Linux

Download Report

Transcript Introduction to Linux

Dustin Schultz
[email protected]
“Lightweight” Enterprise Java
Development Framework
 Helps you with “boilerplate” code
(verbose code to accomplish something
small)
 Dependency Injection – don’t call me, I’ll
call you

 Promotes loosely coupled development

A container to manage your objects

What does lightweight mean?
 Originally it referred to being lightweight as compared to Enterprise
Java Beans (EJB)
 Additionally, it refers to how the Spring Framework can be used in
parts
▪
▪
▪
▪
▪
▪
▪
▪
▪
▪
spring-core – The core, Dependency Injection, etc
spring-jdbc – Java Database Connectivity Support
spring-struts – Struts Framework Support
spring-web – Web Development Support (JSP, etc)
spring-orm – Object Relational Mapping Support (Hibernate, etc)
spring-aop – Aspect Oriented Programming Support
spring-test – Unit Testing Support
spring-oxm – Marshalling/Unmarshalling Support (JAXB, etc)
spring-jms – Java Messaging Support
Many more!

Boilerplate code is frequent, verbose, code needed
in order to accomplish something small.
 Boilerplate Reduction = Simplification

JDBC is a great example of this
 http://www.vaannila.com/spring/spring-jdbc-tutorial-
1.html

Enterprise development involves a lot of
dependencies

This was originally one of Spring’s large
selling points but Spring is now so much
more.

Hollywood Principle – Don’t call me, I’ll call
you
 A form of Inversion of Control (IoC)
▪ You give up control of instantiation/lookup to Spring

Instead of “calling me”
Object foo = FooFactory.getFoo();

“I’ll call you”
private Object foo;
public void setFoo(Object foo) {
this.foo = foo;
}

ApplicationContext is a Object or “Bean”
factory on steroids.
 Instantiates your beans and adds additional
functionality like post processors

Spring manages your objects




From instantiation to destruction
You hardly ever use the ‘new’ keyword anymore
“Singleton”
Lazy initialization

Goal: build a simple application that says
hello in several languages utilizing Spring

If you use git: git clone
git://git.bmi.utah.edu/swe-series/springintro.git

http://git.bmi.utah.edu/swe-series/springintro/archive-tarball/master