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

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.

主站蜘蛛池模板: 台北县| 红安县| 达孜县| 长白| 科尔| 蒙自县| 崇礼县| 深圳市| 三都| 富蕴县| 大余县| 丽水市| 富川| 剑河县| 义乌市| 龙州县| 桦甸市| 尉犁县| 施秉县| 德清县| 泰顺县| 肃北| 汤原县| 犍为县| 女性| 淮安市| 凌源市| 若尔盖县| 托克逊县| 兖州市| 尚志市| 荥阳市| 织金县| 图木舒克市| 茶陵县| 翁牛特旗| 西峡县| 安仁县| 柳州市| 苍溪县| 伽师县|