国产美女一级毛片精品久久久|婷婷影院在线综合免费视频|最新国产午夜精品视频成人|久久精品九九无码免费

Java中Spring的注解問題及解決方法

來源:北大青鳥飛迅校區(qū)|發(fā)布時間:2013-04-27 10:42:46

  Spring2之后,出現(xiàn)很多注解,這些注解讓Spring的配置變得混亂起來,因此,別人力排Spring的注解。

  注解引發(fā)的問題:

  1、缺乏明確的配置導致程序的依賴注入關系不明確。

  2、不利于模塊化的裝配。

  3、給維護帶來麻煩,因為你要根據源代碼找到依賴關系。

  4、通用性不好。如果你哪天拋開了Spring,換了別的Ioc容器,那么你的注解要一個個的刪除。

  但是很多傻X級的程序員還偶爾給你用點,或半用半不用,當你問及的時候,還一本正經的說某某某書上就是這么用的!!如果你接手他的代碼,會很郁悶。

  這里寫個例子,為的是看懂帶注解的代碼,不是推崇注解有多高級,真沒必要。

  package lavasoft.springstu.anno;

  /**

  * 一個普通的Bean

  *

  * @author leizhimin 2009-12-23 10:40:38

  */

  public class Foo {

  private String name;

  public Foo(String name) {

  this.name = name;

  }

  public String getName() {

  return name;

  }

  public void setName(String name) {

  this.name = name;

  }

  }

  package lavasoft.springstu.anno;

  import org.springframework.beans.factory.annotation.Autowired;

  /**

  * Spring自動裝配的注解

  *

  * @author leizhimin 2009-12-23 10:41:55

  */

  public class Bar {

  @Autowired(required = true)

  private Foo foo;

  public void f1() {

  System.out.println(foo.getName());

  }

  }

 

  package lavasoft.springstu.anno;

  import org.springframework.context.ApplicationContext;

  import org.springframework.context.support.ClassPathXmlApplicationContext;

  /**

  * 測試自動裝配Bean

  *

  * @author leizhimin 2009-12-23 10:55:35

  */

  public class Test1 {

  public static void main(String[] args) {

  ApplicationContext ctx = new ClassPathXmlApplicationContext("lavasoft/springstu/anno/cfg1.xml");

  Bar bar = (Bar) ctx.getBean("bar");

  bar.f1();

  }

  }

 

  運行結果:


aaaa

 

  Process finished with exit code 0

 

  從上面的代碼中看到,Spring的注解使得配置文件的邏輯很混亂,如果項目中有大量的類似注解,那維護起來就很困難了。


建議不要使用!

上一篇:怎樣制作Javascript彈出窗口?
下一篇:深入Java對象及元素的存儲區(qū)域

熱門話題

招生熱線: 4008-0731-86 / 0731-82186801

學校地址: 長沙市天心區(qū)團結路6號

Copyright © 2006 | 湖南大計信息科技有限公司 版權所有

湘ICP備14017520號-3

關注我們
在線咨詢
嘿,我來幫您!