फेंकता है मेरे पास स्प्रिंग बूट 0.5.0.M5 का उपयोग कर एक प्रोजेक्ट सेटअप है।स्प्रिंग बूट - पर्यावरण @Autowired NullPointerException
कॉन्फ़िगरेशन फ़ाइलों में से एक में मैं @Autowire Environment
पर कोशिश कर रहा हूं लेकिन यह NullPointerException
के साथ विफल रहता है।
यहाँ मैं अब तक है:
Application.java
JpaConfig.java जहाँ मैं @Autowire Environment
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(basePackages = "com.ui.persistence.repository")
public class JpaConfig {
private static final String DATABASE_DRIVER = "db.driver";
private static final String DATABASE_PASSWORD = "db.password";
private static final String DATABASE_URL = "db.url";
private static final String DATABASE_USERNAME = "db.username";
private static final String HIBERNATE_DIALECT = "hibernate.dialect";
private static final String HIBERNATE_SHOW_SQL = "hibernate.show_sql";
private static final String ENTITYMANAGER_PACKAGES_TO_SCAN
= "entitymanager.packages.to.scan";
@Autowired
private Environment env;
@Bean
public DataSource dataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(env.getProperty(DATABASE_DRIVER));
dataSource.setUrl(env.getProperty(DATABASE_URL));
dataSource.setUsername(env.getProperty(DATABASE_USERNAME));
dataSource.setPassword(env.getProperty(DATABASE_PASSWORD));
return dataSource;
}
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
LocalContainerEntityManagerFactoryBean entityManagerFactoryBean
= new LocalContainerEntityManagerFactoryBean();
entityManagerFactoryBean.setDataSource(dataSource());
entityManagerFactoryBean.setPersistenceProviderClass(
HibernatePersistence.class);
entityManagerFactoryBean.setPackagesToScan(
env.getProperty(ENTITYMANAGER_PACKAGES_TO_SCAN));
entityManagerFactoryBean.setJpaProperties(hibernateProperties());
return entityManagerFactoryBean;
}
}
मैं लोड करने के लिए कोशिश कर रहा हूँ करने के लिए कोशिश कर रहा हूँ एक गुण फ़ाइल में कॉन्फ़िगर डेटाबेस गुण। हालांकि, Environment
इंजेक्शन नहीं है और कोड NullPointerException
के साथ विफल रहता है। मेरे पास एक्सएमएल फाइलों में कोई विन्यास नहीं है।
प्रॉपर्टी के लिए दायर मैं PropertySourcesPlaceholderConfigurer
इस तरह से कॉन्फ़िगर किया है:
@Configuration
@PropertySource("classpath:database.properties")
public class PropertyConfig {
@Bean
public static PropertySourcesPlaceholderConfigurer propertyPlaceHolderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
}
मैं @Autowired
, @Resource
और @Inject
अदला-बदली की कोशिश की है, लेकिन अभी तक कुछ भी काम किया है। किसी भी मदद की सराहना करेंगे। धन्यवाद।
आप स्टैक ट्रेस दिखा सकते हैं? इसके अलावा, 'पर्यावरण' प्रदान करने वाला कुछ भी है? मुझे लगता है कि आपको एक कक्षा की आवश्यकता है जिसमें एक विधि है जो '@ बीन' के साथ चिह्नित एक लौटाती है। साथ ही, आप पर्यावरण प्राप्त करने और उन्हें इस तरह से प्राप्त करने के बजाय अपनी संपत्तियों को सेट करने के लिए '@ Value' का उपयोग करने में सक्षम हो सकते हैं। – CodeChimp
मैंने @ वैल्यू के साथ प्रयास किया, काम नहीं किया। स्टैक ट्रेस सिर्फ NullPointerException है क्योंकि चर सेट नहीं किए गए हैं। धन्यवाद। – imme