0
我有一個班級TestServiceImpl
,其中有@Service
和@EnabledTransactionManagement
註釋。 我指的是其中的2個DAO對象@Autowired Service1DAO s1
和@Autowired Service2DAO s2
。 Service1DAO
和Service2DAO
類標註爲@Repository
註釋。 這些方法用@Trasanction
標註,並根據需要標註所需參數。春季自動佈線爲空
問題是: 我能夠獲得s1
對象,但是當我試圖獲取s2
對象時,它顯示爲null。 它們是彼此定義的。
的serivie類是:
@Service
@Scope("prototype")
@EnabledTransactionManagement
public class TestServiceImpl {
@Autowired Service1DAO s1;
@Autowired Service2DAO s2;
@Transation(readOnly = false, propogation = Propagation.REQUIRED_NEW)
public String getXXX1(){
s1.print();
}
@Trsanction(readOnly = false, propogation = Propagation.REQUIRED_NEW)`enter code here`
public String getXXX2(){
s2.write();
}
}
DAO類是:
@Repository
public class Service1DAO implements Service1{
@PersistentContext
EntityManager em;
public String Print(){
em.XXXXXX();
}
}
@Repository
public class Service2DAO implements Service2{
@PersistentContext
EntityManager em;
public String write(){
em.XXXXXX();
}
}
XML包含所提及的部件的掃描pakcage。
服務類中的方法使用@Trasanction進行註釋。 – Atul
請添加代碼 – reos
何時以及如何訪問s2對象?它是由控制器還是您創建一個對象?你能告訴我們你最近怎麼樣? –