JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Java Application Framework » Spring  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
無標籤
作者 Re:Spring遇到 circular注入的問題 [Re:pipp]
jason_chan19





發文: 175
積分: 1
於 2008-07-02 10:27 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我用 setter injection 他跑的挺開心的咧

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN" 
  "http://www.springframework.org/dtd/spring-beans.dtd"> 
 
<beans> 
    <bean id="a" class="com.wits.bean.A">
    <property name="b" ref="b" />
    </bean>
    
    <bean id="b" class="com.wits.bean.B">
    <property name="c" ref="c" />
    </bean>
    
    <bean id="c" class="com.wits.bean.C">
    <property name="a" ref="a" />
    </bean>
</beans>


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class A {
  private B b;
 
  /**
   * @return the b
   */
  public B getB() {
    return b;
  }
 
  /**
   * @param b the b to set
   */
  public void setB(B b) {
    this.b = b;
  }
  
  public String getName() {
    return "A";
  }
}


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class B {
  private C c;
 
  /**
   * @return the c
   */
  public C getC() {
    return c;
  }
 
  /**
   * @param c the c to set
   */
  public void setC(C c) {
    this.c = c;
  }
  
  public String getName() {
    return "B";
  }
}


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class C {
  private A a;
 
  /**
   * @return the a
   */
  public A getA() {
    return a;
  }
 
  /**
   * @param a the a to set
   */
  public void setA(A a) {
    this.a = a;
  }
  
  public String getName() {
    return "C";
  }
}


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
 
import com.wits.bean.A;
 
public class Main {
 
  /**
   * @param args
   */
  public static void main(String[] args) {
    ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans-config.xml");
    A a = (A)applicationContext.getBean("a");
    
    System.out.println(a.getB().getC().getA().getName());
  }
 
}


也許還有其它條件我不知道的,但寫個最簡單的是可以跑的,也許可以參考這兩篇文章
1. http://forum.springframework.org/showthread.php?t=41138
2. http://doc.javanb.com/spring-framework-reference-2-1-0/index.html (search keyword by Circular dependencies)


reply to postreply to post
你若不想做,會找到一個藉口、你若想做,會找到一個方法
話題樹型展開
人氣 標題 作者 字數 發文時間
5195 Spring遇到 circular注入的問題 pipp 1887 2008-07-02 09:53
3313 Re:Spring遇到 circular注入的問題 jason_chan19 30 2008-07-02 10:14
3319 Re:Spring遇到 circular注入的問題 pipp 31 2008-07-02 10:15
3890 Re:Spring遇到 circular注入的問題 jason_chan19 1983 2008-07-02 10:27
3301 Re:Spring遇到 circular注入的問題 pipp 279 2008-07-02 10:42
3255 Re:Spring遇到 circular注入的問題 pipp 52 2008-07-02 11:05
3188 Re:Spring遇到 circular注入的問題 koji 78 2008-07-02 15:28
3251 Re:Spring遇到 circular注入的問題 pipp 37 2008-07-02 17:01
3240 Re:Spring遇到 circular注入的問題 koji 526 2008-07-03 12:00
3238 Re:Spring遇到 circular注入的問題 pipp 150 2008-07-03 13:33
1507 Re:Spring遇到 circular注入的問題 alin 165 2013-11-11 10:33
» JWorld@TW »  Java Application Framework » Spring

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8