整合目标:控制层采用springmvc、持久层使用mybatis实现。
jar包:包括:spring(包括springmvc)、mybatis、mybatis-spring整合包、数据库驱动、第三方连接池。
整合思路:
Dao层:
1、SqlMapConfig.xml,空文件即可。需要文件头。
2、applicationContext-dao.xml。
a) 数据库连接池
b) SqlSessionFactory对象,需要spring和mybatis整合包下的。
c) 配置mapper文件扫描器。
Service层:
1、applicationContext-service.xml包扫描器,扫描@service注解的类。
2、applicationContext-trans.xml配置事务。
表现层:
Springmvc.xml
1、包扫描器,扫描@Controller注解的类。
2、配置注解驱动。
3、视图解析器
Web.xml
配置前端控制器。
步骤一:在classpath下创建sqlMapConfig.xml
步骤二:在classpath下创建applicationContext-dao.xml,配置数据源、配置SqlSessionFactory、mapper扫描器
Db.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/springmvc?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root
步骤三:创建applicationContext-service.xml
步骤四:创建applicationContext-transaction.xml,配置事务
步骤五:创建SpringMVC.xml, 配置包扫描器,扫描@Controller注解的类、配置注解驱动,扫描@RequestMapping等标签、视图解析器;
步骤六:创建web.xml,配置前端控制器
springmvc-web
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
contextConfigLocation
classpath:spring/applicationContext-*.xml
org.springframework.web.context.ContextLoaderListener
springmvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring/springmvc.xml
springmvc
*.action
1、Service由spring管理
2、spring对Service进行事务控制。
测试代码:
//ItemService接口
public interface ItemService {
List getItemsList();
}
@Service
public class ItemServiceImpl implements ItemService {
@Autowired
private ItemMapper itemMapper;
@Override
public List getItemsList() {
ListitemList = itemMapper.getItemList();
returnitemList;
}
}
@Controller
public class ItemController {
@Autowired
private ItemService itemService;
@RequestMapping("/itemList")
public ModelAndView getItemList() {
List list = itemService.getItemsList();
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("itemList", list);
modelAndView.setViewName("itemList");
return modelAndView;
}
}