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

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.

主站蜘蛛池模板: 青河县| 桦川县| 安国市| 东乌| 衢州市| 翁牛特旗| 固始县| 汪清县| 临夏市| 苏尼特右旗| 平罗县| 平阳县| 中山市| 五大连池市| 象山县| 临西县| 滕州市| 平武县| 瓮安县| 阿荣旗| 鲁甸县| 玉屏| 隆化县| 沙田区| 康保县| 彩票| 福清市| 汉源县| 天镇县| 诏安县| 专栏| 云南省| 庆元县| 句容市| 巨野县| 吕梁市| 铜川市| 双柏县| 德清县| 阳东县| 久治县|