2012-03-24 11 views
6

मेरे पास एक कक्षा है नामांकित पैरामीटर JdbcDaoSupport। अच्छी तरह से इस superclass पर एक अंतिम सेटडेटा स्रोत विधि है। मैं एनोटेशन @autowire का उपयोग कर डेटास्रोत कैसे तार कर सकता हूं?नामांकित पैरामीटर JdbcDao समर्थन डेटासोर्स autowire?

उत्तर

5

आप एक निर्माता पर या किसी अन्य नाम के साथ विधि पर @Autowired का उपयोग कर सकते हैं। व्यक्तिगत रूप से मैं बाद का विकल्प पसंद करता हूं।

@Autowired 
public MyClass(DataSource dataSource) { 
    super(); 
    setDataSource(dataSource); 
} 

@Autowired 
public void setDs(DataSource dataSource) { 
    setDataSource(dataSource); 
} 
+0

एक अन्य समाधान के बजाय 'DaoSupport' कॉन्फ़िगर करने की टेम्पलेट (जो धागा सुरक्षित !! है) इंजेक्षन करने के लिए है: http://stackoverflow.com/a/ 21992433/173149 – gavenkoa

+0

\ @Autowired एनोटेशन के बजाय, \ @Inject से आगे का उपयोग शुरू करना चाहिए। –

1

एक अन्य विकल्प यह है:

@Autowired 
    private DataSource ds; 

    @Override 
    protected void initDao() throws Exception { 
     super.initDao(); 
     setDataSource(ds); 
    } 
संबंधित मुद्दे