首先根据我浅显的认知,回顾一下Spring,Spring MVC,Mybatis各个小demo中需要做的配置工作。。。
Spring是一个基于IOC和AOP的结构J2EE系统的框架,IOC 反转控制 是Spring的基础,Inversion Of Control 。
简单说就是创建对象由以前的程序员自己new 构造方法来调用,变成了交由Spring创建对象
DI 依赖注入 Dependency Inject. 简单地说就是拿到的对象的属性,已经被注入好相关值了,直接使用即可。
Spring的核心配置文件 是applicationContext.xml。可以通过如下方式,不需要自己new对象,直接获取已经被注入值的对象
<bean name="u" class="com.spring.pojo.User">
<property name="name" value="User 1" />
bean>
如果使用注解的方式进行配置,应该在applicationContext.xml中写上
属性的注解方式有@Autowired(加在属性前或者加在setter前),@Resource(加在属性前,写好值),这样则无需在配置文件中写
WEB-INF目录下需要创建web.xml。在其中进行servlet的配置。包括
在WEB-INF目录下创建springmvc-servlet.xml。其中这里的
准备mysql的数据库ssm,建立表格category_。插入一定数据。
在eclipse中建立pojo的package,建立Category.java实体类。
准备接口CategoryMapper,写上各类增删查改方法名。在mapper的package下,新建Category.xml。在Category.xml中,
insert into category_ ( name ) values (#{name})
delete from category_ where id= #{id}
update category_ set name=#{name} where id=#{id}
分别建立service和service.impl的package。在两个包下分别建立CategoryService和CategoryServiceImpl。值得注意的是CategoryServiceImpl一定要继承CategoryService。由于在applicationContext.xml中,已经进行了相关bean配置。所以可以通过@Autowired的注解方式获取CategoryMapper对象,并调用list方法。
package com.ssm.service;
import java.util.List;
import com.ssm.pojo.Category;
public interface CategoryService {
List list();
}
package com.ssm.service.impl;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ssm.mapper.CategoryMapper;
import com.ssm.pojo.Category;
import com.ssm.service.CategoryService;
@Service
public class CategoryServiceImpl implements CategoryService{
@Autowired
CategoryMapper categoryMapper;
public List list(){
return categoryMapper.list();
}
}
如上所述,访问请求先通过DispatcherServlet,然后访问对应的xxxController类。也就是说,在xxxController类中,开始请求的任务。利用注解在类前标注@Controller,表明这是一个Controller的类。然后通过注解获取categoryService对象。利用categoryService获取种类数据之后,存放在数组中,最终渲染到页面上。
package com.ssm.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.ssm.pojo.Category;
import com.ssm.service.CategoryService;
@Controller
@RequestMapping("")
public class CategoryController {
@Autowired
CategoryService categoryService;
@RequestMapping("listCategory")
public ModelAndView listCategory(){
ModelAndView mav = new ModelAndView();
List cs= categoryService.list();
// 放入转发参数
mav.addObject("cs", cs);
// 放入jsp路径
mav.setViewName("listCategory");
return mav;
}
}
以下是各类配置文件
contextConfigLocation
classpath:applicationContext.xml
org.springframework.web.context.ContextLoaderListener
mvc-dispatcher
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:SpringMVC.xml
1
mvc-dispatcher
/
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/ssm?characterEncoding=UTF-8
root
admin
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
id
name
${c.id}
${c.name}