Я создаю приложение Spring MVC, которое установило соединение с базой данных MySQL. Я использовал конфигурацию на основе Java. Но я не знаю, почему DataSoruce
приходит null
.
Может кто-нибудь сказать, где я делаю неправильно?
Класс, в котором я настроил свой фронт-контроллер.
public class FontControllerConfig extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[] { WebMvcConfig.class };
}
@Override
protected Class<?>[] getServletConfigClasses() {
return null;
}
@Override
protected String[] getServletMappings() {
return new String[] { "/" };
}
}
Класс, в котором я должен включить функции Spring MVC.
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "controller")
public class WebMvcConfig {
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver vr = new InternalResourceViewResolver();
// set location of views.
vr.setPrefix("/");
// set the extension of views.
vr.setSuffix(".jsp");
return vr;
}
}
Создание соединения с базой данных
public class DbManager {
@Bean
public BasicDataSource getDataSource() {
BasicDataSource bds = new BasicDataSource();
bds.setDriverClassName("com.mysql.jdbc.Driver");
bds.setUrl("jdbc:mysql://localhost:3306/local");
bds.setUsername("root");
bds.setPassword("");
return bds;
}
@Autowired
private DataSource ds;
public void setDs(DataSource ds) {
this.ds = ds;
}
public Connection conn() throws SQLException {
Connection conn = ds.getConnection();
return conn;
}
}
и последний класс контроллера, который обрабатывает пользовательский запрос для проверки, установлено ли соединение или нет.
@Controller
public class MyController {
@RequestMapping("/check")
public ModelAndView greet() throws SQLException {
DbManager dbMan = new DbManager();
if (dbMan.conn() != null) {
return new ModelAndView("welcome", "msg", "SUCCESS");
} else {
return new ModelAndView("welcome", "msg", "FAIL");
}
}
}
Заранее спасибо:)