Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Overview chap1


Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

Overview chap1

  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 is made up of two or more classes that collaborate with each other to perform some business logic.