我正在创建一个与 MySQL 数据库建立数据库连接的 Spring MVC 应用程序。我使用过基于 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");
}
}
}
提前致谢:)
慕斯709654
天涯尽头无女友
相关分类