架构流程图:

第一步:建立spring框架;

包括:建立所需要的dao层,sevice层和controller层和实体类,建立spring配置文件,配置自动扫描bean

AccountDao:

  1. @Repository
  2. public interface AccountDao {
  3. @Select("select * from account where id = 1")
  4. Account findAll() ;
  5. }

Account:

  1. package com.quan.model;
  2.  
  3. import javax.annotation.Resource;
  4.  
  5. @Resource
  6. public class Account {
  7. private Integer id;
  8. private Integer uid;
  9. private Double money;
  10.  
  11. public Integer getId() {
  12. return id;
  13. }
  14.  
  15. public void setId(Integer id) {
  16. this.id = id;
  17. }
  18.  
  19. public Integer getUid() {
  20. return uid;
  21. }
  22.  
  23. public void setUid(Integer uid) {
  24. this.uid = uid;
  25. }
  26.  
  27. public Double getMoney() {
  28. return money;
  29. }
  30.  
  31. public void setMoney(Double money) {
  32. this.money = money;
  33. }
  34.  
  35. @Override
  36. public String toString() {
  37. return "Account{" +
  38. "id=" + id +
  39. ", uid=" + uid +
  40. ", money=" + money +
  41. '}';
  42. }
  43. }

AcountService

  1. public interface AccountService {
  2. Account findAll();
  3. }

AcountServiceImp

  1. @Service
  2. public class AcountServiceImp implements AccountService{
  3. @Autowired
  4. private AccountDao accountDao;
  5.  
  6. @Override
  7. public Account findAll() {
  8. Account account =accountDao.findAll();
  9. System.out.println(account);
  10. System.out.println("springMVC-done.....");
  11. return account;
  12. }
  13. }

spring-config.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:tx="http://www.springframework.org/schema/tx"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:mvc="http://www.springframework.org/schema/mvc"
  6. xmlns:aop="http://www.springframework.org/schema/aop"
  7. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  8. xsi:schemaLocation="http://www.springframework.org/schema/beans
  9. http://www.springframework.org/schema/beans/spring-beans.xsd
  10. http://www.springframework.org/schema/tx
  11. http://www.springframework.org/schema/tx/spring-tx.xsd
  12. http://www.springframework.org/schema/context
  13. http://www.springframework.org/schema/context/spring-context.xsd
  14. http://www.springframework.org/schema/mvc
  15. http://www.springframework.org/schema/mvc/spring-mvc.xsd
  16. http://www.springframework.org/schema/aop
  17. http://www.springframework.org/schema/mvc/spring-aop.xsd
  18. ">
  19.  
  20. <context:component-scan base-package="com.quan">
  21. <!-- 配置需要忽略的注解,controller 让spingmvc配置文件去配置-->
  22. <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
  23. </context:component-scan>

spring的配置文件主要是,除了springMVC需要配置的扫描controller的注解,其他都需要在这里配置

建议没实现一个框架的配置,都进行简单的验证

第二部,实现springMVC配置:
配置web.xml文件,实现过滤器,核心处理器,中文乱码过滤

  1. <!-- spring-MVC的配置,-->
  2. <servlet>
  3. <servlet-name>springmvc</servlet-name>
  4. <servlet-class>
  5. org.springframework.web.servlet.DispatcherServlet
  6. </servlet-class>
  7. <!-- 服务器启动的时候,让DispatcherServlet对象创建-->
  8. <load-on-startup>1</load-on-startup>
  9. </servlet>
  10.  
  11. <!-- 如果没有定义配置文件名字,spring直接会找web-inf下的servlet-name-servler.xml文件-->
  12. <servlet-mapping>
  13. <servlet-name>springmvc</servlet-name>
  14. <url-pattern>/</url-pattern>
  15. </servlet-mapping>
  16.  
  17. <filter>
  18. <filter-name>characterEncodingFilter</filter-name>
  19. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  20. <init-param>
  21. <param-name>encoding</param-name>
  22. <param-value>UTF-8</param-value>
  23. </init-param>
  24. </filter>
  25.  
  26. <filter-mapping>
  27. <filter-name>characterEncodingFilter</filter-name>
  28. <url-pattern>/*</url-pattern>
  29. </filter-mapping>

在WEB-INF/建立springmvc的配置文件:

springmvc-servlet.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:tx="http://www.springframework.org/schema/tx"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:mvc="http://www.springframework.org/schema/mvc"
  6. xmlns:aop="http://www.springframework.org/schema/aop"
  7. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  8. xsi:schemaLocation="http://www.springframework.org/schema/beans
  9. http://www.springframework.org/schema/beans/spring-beans.xsd
  10. http://www.springframework.org/schema/tx
  11. http://www.springframework.org/schema/tx/spring-tx.xsd
  12. http://www.springframework.org/schema/context
  13. http://www.springframework.org/schema/context/spring-context.xsd
  14. http://www.springframework.org/schema/mvc
  15. http://www.springframework.org/schema/mvc/spring-mvc.xsd
  16. http://www.springframework.org/schema/aop
  17. http://www.springframework.org/schema/mvc/spring-aop.xsd
  18. ">
  19. <!-- 配置注解扫描-->
  20. <context:component-scan base-package="com.quan">
  21. <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
  22. </context:component-scan>
  23.  
  24. <!-- 配置试图解析器-->
  25. <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  26. <property name="prefix" value="/WEB-INF/pages/"/>
  27. <property name="suffix" value=".jsp"/>
  28. </bean>
  29.  
  30. <!-- 设置静态资源不过滤-->
  31. <mvc:resources mapping="/css/**" location="WEB-INF/css"/>
  32. <mvc:resources mapping="/images/**" location="WEB-INF/images"/>
  33. <mvc:resources mapping="/js/**" location="WEB-INF/js"/>
  34.  
  35. <!-- 开启springMVC注解支持-->
  36. <mvc:annotation-driven/>
  37. </beans>

编写controller:

  1. @Controller
  2. @RequestMapping("/account")
  3. public class AccountController {
  4. @Autowired
  5. private AccountService accountService;
  6.  
  7. @RequestMapping("/findAll")
  8. public ModelAndView accFindAll(){
  9. ModelAndView mv = new ModelAndView();
  10. System.out.println("springmvcdone1");
  11. Account account = accountService.findAll();
  12. mv.addObject("at",account);
  13. mv.addObject("atmoney",account.getMoney());
  14. mv.setViewName("list");
  15. System.out.println("springmvcdone2");
  16. return mv;
  17. }
  18. }

list.jsp:

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false"%>
  2. <html>
  3. <head>
  4. <title>findAll</title>
  5. </head>
  6. <body>
  7. ${requestScope.atmoney}
  8. ${requestScope.at.toString()}
  9. </body>
  10. </html>

这里可以不用编写页面,直接命令行输入消息验证生效就行

由于Tomcat服务器会自动通过web.xml配置文件进行springmvc配置文件的加载,

并没有applicationContext.xml的加载(也就是spring并没有被加载),所以可以通过监听ServeltContext域对象,在创建时加载spring的配置文件

在web.xml文件加入监听器:

  1. <!-- 配置spring的监听器-->
  2. <listener>
  3. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  4. </listener>
  5. <!-- 配置加载的类路径-->
  6. <context-param>
  7. <param-name>contextConfigLocation</param-name>
  8. <param-value>classpath:spring-config.xml</param-value>
  9. </context-param>

这样子我们就可以使用依赖注入

配置Mybaties:

可以在spring配置文件里面直接在上mybatis的配置

  1. <!--配置链接对象-->
  2. <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  3. <property name="url" value="jdbc:mysql://129.204.3.133/mybatis" />
  4. <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
  5. <property name="username" value="root"/>
  6. <property name="password" value="2004"/>
  7. </bean>
  8.  
  9. <!-- 配置SQLsession工厂-->
  10.  
  11. <bean id="factoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
  12. <property name="dataSource" ref="dataSource"/>
  13. <!-- <property name="mapperLocations" value="com.quan.dao/*.xml"/>-->
  14. </bean>
  15.  
  16. <!-- 配置邵渺的dao-->
  17. <bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  18. <property name="basePackage" value="com.quan.dao"/>
  19. </bean>

编写AccountDao的maping文件:

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5.  
  6. <mapper namespace="com.quan.dao.AccountDao">
  7. <select id="findAll" resultType="com.quan.model.Account">
  8. select * from account where id = 1;
  9. </select>
  10. </mapper>

测试结果:

SSM-learning的更多相关文章

  1. 【Machine Learning】KNN算法虹膜图片识别

    K-近邻算法虹膜图片识别实战 作者:白宁超 2017年1月3日18:26:33 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  2. 【SSM框架】Spring + Springmvc + Mybatis 基本框架搭建集成教程

    本文将讲解SSM框架的基本搭建集成,并有一个简单demo案例 说明:1.本文暂未使用maven集成,jar包需要手动导入. 2.本文为基础教程,大神切勿见笑. 3.如果对您学习有帮助,欢迎各种转载,注 ...

  3. 【Machine Learning】Python开发工具:Anaconda+Sublime

    Python开发工具:Anaconda+Sublime 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现 ...

  4. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  5. 【Machine Learning】决策树案例:基于python的商品购买能力预测系统

    决策树在商品购买能力预测案例中的算法实现 作者:白宁超 2016年12月24日22:05:42 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本 ...

  6. springmvc 多数据源 SSM java redis shiro ehcache 头像裁剪

    获取下载地址   QQ 313596790  A 调用摄像头拍照,自定义裁剪编辑头像 B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,开发利器)+快速构建表单;  技术:31359679 ...

  7. Deep learning:五十一(CNN的反向求导及练习)

    前言: CNN作为DL中最成功的模型之一,有必要对其更进一步研究它.虽然在前面的博文Stacked CNN简单介绍中有大概介绍过CNN的使用,不过那是有个前提的:CNN中的参数必须已提前学习好.而本文 ...

  8. SSM项目搭建(提供源码)

    1创建web动态项目,项目结构截图 2.配置日志文件 #\u5B9A\u4E49LOG\u8F93\u51FA\u7EA7\u522B log4j.rootLogger=INFO,Console,Fi ...

  9. activiti工作流的web流程设计器整合视频教程 SSM和独立部署

    本视频为activiti工作流的web流程设计器整合视频教程 整合Acitiviti在线流程设计器(Activiti-Modeler 5.21.0 官方流程设计器) 本视频共讲了两种整合方式 1. 流 ...

  10. activiti工作流的web流程设计器整合视频教程 SSM 和 独立部署

    本视频为activiti工作流的web流程设计器整合视频教程 整合Acitiviti在线流程设计器(Activiti-Modeler 5.21.0 官方流程设计器) 本视频共讲了两种整合方式 1. 流 ...

随机推荐

  1. python开启httpserver

  2. [题解]Mail.Ru Cup 2018 Round 1 - B. Appending Mex

    [题目] B. Appending Mex [描述] Ildar定义了一种方法,可以由一个数组产生一个数.具体地,从这个数组中任选一个子集,不在这个子集中的最小的非负整数称为mex,就是由这个数组得到 ...

  3. 实例演示:Excel实现数据更新获取,并根据公式计算后展示

    ​ 我们数据库中有一些明细数据,希望我们可以使用Excel的公式,对报表数据进行,最后展示在自定义的行列固定报表中. 如下图:从左侧表中获取大类名称为饮料.海鲜.日用品,从2016/11/11到201 ...

  4. Windows server 2008 R2 多用户远程桌面配置详解(超过两个用户)

    转至:https://www.jb51.net/article/139542.htm 注意:一下是针对win2008  server r2的操作 1. 创建三个本地管理员测试用户 user01 use ...

  5. VT 入门篇——最小 VT 实现(上)

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...

  6. Qt:QTextStream

    0.说明 QTextStream提供了读写文本文件的接口. QTextStream可以操作QIODevice,  QByteArray 和 QString,调用QTextStream的流操作可以方便的 ...

  7. Qt:QJsonParseError

    0.说明 QJsonParseError用于JSON解析时报告error. 1.模块和加载项 Header #include<QJsonParseError> qmake QT += co ...

  8. 2022java蓝桥杯算法训练

    1.印章: 代码: 1 import java.util.Scanner; 2 3 public class Main { 4 public static void main(String[] arg ...

  9. JZ-057-二叉树的下一个结点

    二叉树的下一个结点 题目描述 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回.注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针. 题目链接: 二叉树的下一个结点 代 ...

  10. LeetCode-033-搜索旋转排序数组

    搜索旋转排序数组 题目描述:整数数组 nums 按升序排列,数组中的值 互不相同 . 在传递给函数之前,nums 在预先未知的某个下标 k(0 <= k < nums.length)上进行 ...