Spring Boot 出现给开发者构建一个Spring 应用带了极大的方面,本篇做一个关于Spring Boot+Mybatis+Controller层测试 的demo程序。
1. 初始化
采用Sping Boot提供的Web接口(http://start.spring.io/)
选择添加的依赖Web,点击 Generate即可下载一个名为demo的压缩文件,解压即可。然后项目添加到eclipse中。
2. 项目结构
没有的目录自行添加
3. 项目启动
找到Main函数,启动即可。(在src/main/java下面找)
启动没问题,就可以开始整合Mybatis了。
4. 整合Mybatis
4.1 添加依赖
在pom.xml下,添加Mybatis的依赖(其他依赖自行添加)
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
4.2 MyBatis配置
打开resource目录
可以找到application.properties这个文件<先不管其他文件夹有没有>,添加如下配置:
server.port=8080
#database
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/mytest
jdbc.username=root
jdbc.password=root
这个地方自己修改成自己机器上的MySql连接参数即可。
然后,需要写一个配置类,如下:
@EnableTransactionManagement
@Configuration
public class MybatisConfig {
@Bean
public DataSource dataSource(@Value("${jdbc.driver}") String jsbcDriver, @Value("${jdbc.url}") String jdbcUrl,
@Value("${jdbc.username}") String jdbcUserName, @Value("${jdbc.password}") String jdbcPwd) {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setUrl(jdbcUrl);
dataSource.setDriverClassName(jsbcDriver);
dataSource.setUsername(jdbcUserName);
dataSource.setPassword(jdbcPwd);
return dataSource;
}
@Bean
public DataSourceTransactionManager dataSourceTransactionManager(DataSource dataSource) {
DataSourceTransactionManager dataSourceTransactionManager = new DataSourceTransactionManager();
dataSourceTransactionManager.setDataSource(dataSource);
return dataSourceTransactionManager;
}
@Bean
public FactoryBean<SqlSessionFactory> sqlSessionFactory(DataSource dataSource) {
SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
sessionFactoryBean.setDataSource(dataSource);
sessionFactoryBean.setTypeAliasesPackage("com.seven");
sessionFactoryBean.setConfigLocation(new ClassPathResource("config/mybatis.xml"));
return sessionFactoryBean;
}
@Bean
public MapperScannerConfigurer mapperScannerConfigurer() {
MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
mapperScannerConfigurer.setBasePackage("com.seven.dao");
return mapperScannerConfigurer;
}
}
5. 配置导入
在Main方法中,导入配置类
@SpringBootApplication
@ComponentScan("com.seven")
@Import({ MybatisConfig.class, AopConfig.class })
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
6. 写三层
贴出Controller代码(其他代码参考源码)
@Controller
@RequestMapping("/")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("view")
public String getAllUser(Model model) {
List<User> users = userService.getAllUse();
model.addAttribute("userList", users);
return "userList.jsp";
}
}
然后在Main方法上添加@ComponentScan(“包名”),加载时候,会扫描该包即子包下面的Controller Service<必不可少>
7. 界面Js 静态资源
放置目录:
特此说明:如果没有这样的目录,自行创建,因为Spring Boot 默认加载静态资源优先级是:/META-INF/resources > /resources > /static > /public,我是吃过找不到资源的亏。
8. 运行访问即可
http://localhost:8080/view
9. 源码
没有说得很详细,不清楚可以参考参考源码。
源码后续补上链接。