我编写了以下代码,但我无法使其工作。我不知道问题出在哪里。
所有课程都在“hello”包中。
public static void main(String args[]) {
AnnotationConfigApplicationContext applicationContext = new AnnotationConfigApplicationContext();
applicationContext.scan("hello");
applicationContext.refresh();
ApplicationService app = new ApplicationService();
app.run();
applicationContext.close();
}
@Component
public class ApplicationService {
@Autowired
@Qualifier("main")
private SimpleDriverDataSource dataSourcee;
public void run(){
!!!!!!!! JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSourcee);
}
}
@Configuration
public class Config {
@Bean
@Qualifier("main")
public SimpleDriverDataSource getDataSource() {
SimpleDriverDataSource dataSource = new SimpleDriverDataSource();
dataSource.setDriverClass(org.h2.Driver.class);
dataSource.setUsername("sa");
dataSource.setUrl("jdbc:h2:mem");
dataSource.setPassword("");
return dataSource;
}
}
我尝试了很多方法和组合,但仍然会出现以下错误。我尝试没有限定符,我在Config中更改了方法的名称,我尝试以不同的方式命名bean但我没有得到任何结果。问题在哪里?
Exception in thread "main" java.lang.IllegalArgumentException: Property 'dataSource' is required
at org.springframework.jdbc.support.JdbcAccessor.afterPropertiesSet(JdbcAccessor.java:135)
at org.springframework.jdbc.core.JdbcTemplate.<init>(JdbcTemplate.java:169)
at hello.ApplicationService.run(ApplicationService.java:28)
at hello.AppMain.main(AppMain.java:12)