S PRINGING INTO ACTION
W HAT         IS    S PRING ?

   Spring is an open source framework, created by
    Rod Johnson and described in his boo...
W HAT           IS    S PRING ?

   Lightweight
       Spring is lightweight in terms of both size and overhead.

   De...
W HAT           IS    S PRING ?

   Container
       Spring is a container in the sense that it contains
        and man...
S PRING           MODULES

   You are free to choose the modules that suit your
    application and look to other options...
T HE      CORE CONTAINER

   Spring’s core container provides the fundamental
    functionality of the Spring Framework

...
A PPLICATION CONTEXT MODULE


     Spring’s application context builds on the core
      container.

     The core modul...
S PRING ’ S AOP                 MODULE


   Spring provides rich support for aspect-oriented
    programming in its AOP m...
JDBC ABSTRACTION AND
          THE DAO MODULE


   Working with JDBC often results in a lot of
    boilerplate code that ...
O BJECT - RELATIONAL MAPPING
(ORM) INTEGRATION MODULE

    For those who prefer using an object-relational
     mapping (...
J AVA M ANAGEMENT E XTENSIONS
                       (JMX)

      Exposing the inner workings of a Java application
     ...
T HE S PRING MVC               FRAMEWORK


        The Model/View/Controller (MVC) paradigm is a
         commonly accept...
J AVA M ESSAGE S ERVICE
                         (JMS)

   The downside to remoting is that it depends on
    network rel...
A S PRING             JUMP START -1
   Dependency injection is the most basic thing that
    Spring does.

   Although i...
C ONFIGURING H ELLO W ORLD
                      IN S PRING
   The GreetingServiceImpl class has a single
    property: g...
L AB 1-練習-1

   規劃一個一個sayHello Method合約規範的介面
    Igreeting interface
L AB 1-練習-2

   撰寫與實做Igreeting介面的Entity Class(Bean)

   sayHello() 要設定寫出去的資訊(Class必須設定
    存取子與封裝的欄位)
L AB 1-練習-3

   配置Spring bean config

   設定屬性(Property-setter and getter)內容
T HE H ELLO W ORLD MAIN
                                                CLASS
   The BeanFactory class used here is the S...
L AB 1-練習-3
   專案參考相關的JAR

   主程式撰寫
U NDERSTANDING
DEPENDENCY INJECTION (DI)


   DI is at the heart of the Spring Framework. It may
    sound a bit intimida...
I NJECTING             DEPENDENCIES


   Originally, dependency injection was commonly
    referred to by another name: i...
D EPENDENCY INJECTION
            IN ACTION
Upcoming SlideShare
Loading in …5
×

Overview chap1

631 views
581 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
631
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Overview chap1

  1. 1. S PRINGING INTO ACTION
  2. 2. W HAT IS S PRING ?  Spring is an open source framework, created by Rod Johnson and described in his book Expert One-on-One: J2EE Design and Development  Spring does many things, but when you strip it down to its base parts, Spring is a lightweight dependency injection and aspect-oriented container and framework
  3. 3. W HAT IS S PRING ?  Lightweight  Spring is lightweight in terms of both size and overhead.  Dependency Injection  Spring promotes loose coupling through a technique known as dependency injection (DI).  Aspect-oriented  Spring comes with rich support for aspect-oriented programming (AOP)
  4. 4. W HAT IS S PRING ?  Container  Spring is a container in the sense that it contains and manages the lifecycle and configuration of application objects  Framework  Spring makes it possible to configure and compose complex applications from simpler components. In Spring, application objects are composed declaratively, typically in an XML file.
  5. 5. S PRING MODULES  You are free to choose the modules that suit your application and look to other options  ll of Spring’s modules are built on top of the core container.
  6. 6. T HE CORE CONTAINER  Spring’s core container provides the fundamental functionality of the Spring Framework  This module contains the BeanFactory  which is the fundamental Spring container and the basis on which Spring’s DI is based.
  7. 7. A PPLICATION CONTEXT MODULE  Spring’s application context builds on the core container.  The core module’s BeanFactory makes Spring a container, but the context module is what makes it a framework.  This module extends the concept of BeanFactory, adding support for internationalization (I18N) messages, application lifecycle events, and validation
  8. 8. S PRING ’ S AOP MODULE  Spring provides rich support for aspect-oriented programming in its AOP module. This module serves as the basis for developing your own aspects for your Springenabled application. Like DI, AOP supports loose coupling of application objects. With AOP
  9. 9. JDBC ABSTRACTION AND THE DAO MODULE  Working with JDBC often results in a lot of boilerplate code that gets a connection,creates a statement, processes a result set, and then closes the connection.Spring’s JDBC and Data Access Objects (DAO) module abstracts away the boilerplate code so that you can keep your database code clean and simple
  10. 10. O BJECT - RELATIONAL MAPPING (ORM) INTEGRATION MODULE  For those who prefer using an object-relational mapping (ORM) tool over straight JDBC, Spring provides the ORM module. Spring’s ORM support builds on the DAO support
  11. 11. J AVA M ANAGEMENT E XTENSIONS (JMX)  Exposing the inner workings of a Java application for management is a critical part of making an application production ready. Spring’s JMX odule makes it easy to expose your application’s beans as JMX MBeans. This makes it possible to monitor and reconfigure a running application.
  12. 12. T HE S PRING MVC FRAMEWORK  The Model/View/Controller (MVC) paradigm is a commonly accepted approach to building web applications such that the user interface is separate from the application logic. Java has no shortage of MVC frameworks, with Apache Struts, JSF, WebWork(Struts 2.0), and Tapestry among the most popular MVC choices.
  13. 13. J AVA M ESSAGE S ERVICE (JMS)  The downside to remoting is that it depends on network reliability and that both ends of the communication be available. Message-oriented communication, on the other hand, is more reliable and guarantees delivery of messages, even if the network and endpoints are unreliable.
  14. 14. A S PRING JUMP START -1  Dependency injection is the most basic thing that Spring does.  Although it’s not necessary to hide the implementation behind an interface, it’s highly recommended as a way to separate the implementation from its contract
  15. 15. C ONFIGURING H ELLO W ORLD IN S PRING  The GreetingServiceImpl class has a single property: greeting  The XML file in listing 1.3 declares an instance of a GreetingServiceImpl in the Spring container and configures its greeting property with a value of “Buenos Dias!” Let’s dig into the details of this XML file a bit to understand how it works
  16. 16. L AB 1-練習-1  規劃一個一個sayHello Method合約規範的介面 Igreeting interface
  17. 17. L AB 1-練習-2  撰寫與實做Igreeting介面的Entity Class(Bean)  sayHello() 要設定寫出去的資訊(Class必須設定 存取子與封裝的欄位)
  18. 18. L AB 1-練習-3  配置Spring bean config  設定屬性(Property-setter and getter)內容
  19. 19. T HE H ELLO W ORLD MAIN CLASS  The BeanFactory class used here is the Spring container. After loading the hello.xml file into the container
  20. 20. L AB 1-練習-3  專案參考相關的JAR  主程式撰寫
  21. 21. U NDERSTANDING DEPENDENCY INJECTION (DI)  DI is at the heart of the Spring Framework. It may sound a bit intimidating, conjuring up notions of a complex programming technique or design pattern.  In fact, by applying DI in your projects, you’ll find that your code will become significantly simpler, easier to understand, and easier to test.
  22. 22. I NJECTING DEPENDENCIES  Originally, dependency injection was commonly referred to by another name: inversion of control(IoC)  Any nontrivial application (pretty much anything more complex than HelloWorld.java) is made up of two or more classes that collaborate with each other to perform some business logic.
  23. 23. D EPENDENCY INJECTION IN ACTION

×