官术网_书友最值得收藏!

Using the power of the POJO pattern

There are many other frameworks for Java development that lock you in by forcing you to extend or implement one of their existing classes or interfaces; Struts, Tapestry, and earlier versions of EJB had this approach. The programming model of these frameworks is based on the invasive model. This makes it harder for your code to find bugs in the system, and sometimes it will render your code unintelligible. However, if you are working with Spring Framework, you don't need to implement or extend its existing classes and interfaces, so this is simply POJO-based implementation, following a non-invasive programming model. It makes it easier for your code to find bugs in the system, and keeps the code understandable.

Spring allows you to do programming with very simple non Spring classes, which means there is no need to implement Spring-specific classes or interfaces, so all classes in the Spring-based application are simply POJOs. That means you can compile and run these files without dependency on Spring libraries; you cannot even recognize that these classes are being used by the Spring Framework. In Java-based configuration, you will use Spring annotations, which is the worst case of the Spring-based application.

Let's look at this with the help of the following example:

    package com.packt.chapter1.spring; 
    public class HelloWorld { 
      public String hello() { 
        return "Hello World"; 
      } 
    } 

The preceding class is a simple POJO class with no special indication or implementation related to the framework to make it a Spring component. So this class could function equally well in a Spring application as it could in a non-Spring application. This is the beauty of Spring's non-invasive programming model. Another way that Spring empowers POJO is by collaborating with other POJOs using the DI pattern. Let's see how DI works to help decouple components.

主站蜘蛛池模板: 通海县| 娄底市| 辽阳市| 巴塘县| 丹巴县| 昌黎县| 鄂尔多斯市| 安吉县| 旌德县| 克山县| 望都县| 岳普湖县| 阿尔山市| 嘉兴市| 长春市| 秀山| 宜兴市| 高陵县| 宝应县| 揭东县| 长岭县| 德州市| 沙雅县| 宝清县| 南陵县| 松江区| 五原县| 镇坪县| 屯门区| 黄浦区| 都江堰市| 章丘市| 冷水江市| 宁夏| 富川| 龙游县| 邵阳市| 长子县| 炎陵县| 巴南区| 栖霞市|