总结一下遇到的bug
首先是依赖,最终版jar包如下
其次是SpringConfig类
@Configuration
@ComponentScan(basePackages = "lfp",excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION,value = Controller.class))
@MapperScan(basePackages = "lfp.dao")
//@PropertySource("classpath:db.properties")
public class SpringConfig{
@Bean
public DataSource dataSource(){
DruidDataSource dataSource=new DruidDataSource();
dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/studentmanger?serverTimezone=Asia/Shanghai&characterEncoding=utf-8");
dataSource.setUsername("root");
dataSource.setPassword("psw");
return dataSource;
}
@Bean
public SqlSessionFactoryBean sqlSessionFactoryBean() throws IOException {
SqlSessionFactoryBean sqlSessionFactoryBean=new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource());
// PathMatchingResourcePatternResolver resolver=new PathMatchingResourcePatternResolver();
// sqlSessionFactoryBean.setMapperLocations(resolver.getResources("classPath:lfp/dao/*.xml"));
return sqlSessionFactoryBean;
}
// @Bean
// public MapperScannerConfigurer mapperScannerConfigurer(){
// MapperScannerConfigurer msc = new MapperScannerConfigurer();
// msc.setBasePackage("lfp.dao");
// return msc;
// }
}
SpringMvcConfig
@Configuration
@ComponentScan("lfp.controller")
@EnableWebMvc
public class SpringMVCConfig implements WebMvcConfigurer {
public void addResourceHandlers(ResourceHandlerRegistry registry){
//拦截器
registry.addResourceHandler("/html/*").addResourceLocations("/");
// 实际路径
}
}
AppInitConfig类
public class AppInitconfig extends AbstractAnnotationConfigDispatcherServletInitializer{
@Override
//指定spring的配置类
protected Class<?>[] getRootConfigClasses() {
return new Class[]{SpringConfig.class};
// return new Class[0];
}
//指定springmvc的配置类
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[]{SpringMVCConfig.class};
}
//指定前端控制器的指定路径
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
}
Dao层
public interface StudentDao{
@Select("select * from studentlist")
public List<Student> findAll();
}
实体层
public class Student {
private String id;
private String name;
private int age;
private String score;
public Student(){}
@Override
public String toString() {
return "Student{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", age='" + age + '\'' +
", score='" + score + '\'' +
'}';
}
public Student(String id, String name, int age, String score) {
this.id = id;
this.name = name;
this.age = age;
this.score = score;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getScore() {
return score;
}
public void setScore(String score) {
this.score = score;
}
}
Controller层
@Controller
@RequestMapping("/hello")
public class HelloController{
// @RequestMapping("/test1")
// @ResponseBody
// public String test1(){
// return "hello springmvc";
// }
@Autowired
private StudentDao studentDao;
@RequestMapping("/test1")
@ResponseBody
public List<Student> test1(){
return studentDao.findAll();
}
}
然后就可以在浏览器获取结果