一)创建一个动态web项目
二)导入包
三)com.how2java.pojo下创建Category类
四)com.how2java.mapper下创建CategoryMapper类
五)Category.xml需要和CategoryMapper放在同一个包下面,并且namespace必须写CategoryMapper的完整类名
六)在com.how2java.service下创建CategoryService类
七)
CategoryServiceImpl被注解@Service标示为一个Service
并且装配了categoryMapper
(八)
CategoryController被@Controller标示为了控制器
自动装配了categoryService
通过@RequestMapping映射访问路径/listCategory路径到方法listCategory()。
在listCategory()方法中,通过categoryService获取后,然后存放在"cs"这个key上。
(九)
在WEB-INF目录下新增加web.xml,这个web.xml有两个作用:
1. 通过ContextLoaderListener在web app启动的时候,获取contextConfigLocation配置文件的文件名applicationContext.xml,并进行Spring相关初始化工作
2. 有任何访问,都被DispatcherServlet所拦截
(十)在src目录下新建applicationContext.xml文件,这是Spring的配置文件,其作用
1. 通过注解,将Service的生命周期纳入Spring的管理
<context:annotation-config />
<context:component-scan base-package="com.how2java.service" />
2. 配置数据源
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
3. 扫描存放SQL语句的Category.xml
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
4. 扫描Mapper,并将其生命周期纳入Spring的管理
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
(十一)在src目录下新建springMVC.xml
1. 扫描Controller,并将其生命周期纳入Spring管理
<context:annotation-config/>
<context:component-scan base-package="com.how2java.controller">
<context:include-filter type="annotation"
expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
2. 注解驱动,以使得访问路径与方法的匹配可以通过注解配置
<mvc:annotation-driven />
3. 静态页面,如html,css,js,images可以访问
<mvc:default-servlet-handler />
4. 视图定位到/WEB/INF/jsp 这个目录下
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
(十二)在WEB-INF下创建jsp目录,并创建文件listCategory.jsp。
在这个jsp文件中,通过forEach标签,遍历CategoryController传递过来的集合数据。
运行后得到
进行增删改操作效果如图