zoukankan      html  css  js  c++  java
  • spring+springMVC+mybatis简单整合

    spring+springMVC+mybatis简单整合,

    springMVC框架是spring的子项目,所以框架的整合方式为,spring+Mybatis或springMVC+mybatis。

    三大框架整合所需要的jar包,mybatis 的jar,spring 的jar,springmvc需要的web jar包。

    所需配置文件涉及到:

    1.db.properties,(配置数据库的连接信息,如连接驱动,用户名,密码,连接池的配置等等)

    2.log4j.properties,(配置日志信息,主要用于打印日志信息)

    3.applicationContext.xml,(配置spring的一些配置,主要是数据源,事务管理,传播方式,切面,mybatis工厂,dao扫描器,service扫描器等等)

    4.mybatis-config.xml,(配置mybatis的一些注意事项,例如设置别名,sql片段,映射文件,等等)

    5.springmvc-config.xml(配置视图解析器,注解驱动,@Controller扫描器等等)

    6.web.xml(配置web的一些配置,例如,启动页面管理,加载spring文件,配置前端控制器DispatchServlet,编码过滤器,监听器等等)

    三大框架整合的包结构,po包持久化类,dao层用于持久化操作,service层用于业务逻辑处理,Controller层用于控制逻辑,处理一些逻辑,然后跳转视图,最后通过视图将结果显示到页面上。

    下面是我的一个ssm简单整合的一些相关配置信息

    db.properties

    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
    jdbc.username=root
    jdbc.password=mysql
    jdbc.maxTotal=30
    jdbc.maxIdle=10
    jdbc.initialSize=5

    log4j.properties
    # Global logging configuration
    log4j.rootLogger=ERROR, stdout
    # MyBatis logging configuration...
    log4j.logger.com.itheima=DEBUG
    # Console output...
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

    applicationContent.xml
     <!-- 读取db.properties -->
    <context:property-placeholder location="classpath:./config/db.properties"/>
    <!-- 配置数据源 -->
    <bean id="dataSource"
    class="org.apache.commons.dbcp2.BasicDataSource">
    <!--数据库驱动 -->
    <property name="driverClassName" value="${jdbc.driver}" />
    <!--连接数据库的url -->
    <property name="url" value="${jdbc.url}" />
    <!--连接数据库的用户名 -->
    <property name="username" value="${jdbc.username}" />
    <!--连接数据库的密码 -->
    <property name="password" value="${jdbc.password}" />
    <!--最大连接数 -->
    <property name="maxTotal" value="${jdbc.maxTotal}" />
    <!--最大空闲连接 -->
    <property name="maxIdle" value="${jdbc.maxIdle}" />
    <!--初始化连接数 -->
    <property name="initialSize" value="${jdbc.initialSize}" />
    </bean>
    <!-- 事务管理器,依赖于数据源 -->
    <bean id="transactionManager" class=
    "org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource" />
    </bean>
    <!-- 开启事务注解 -->
    <tx:annotation-driven transaction-manager="transactionManager"/>
    <!-- 配置MyBatis工厂SqlSessionFactory -->
    <bean id="sqlSessionFactory"
    class="org.mybatis.spring.SqlSessionFactoryBean">
    <!--注入数据源 -->
    <property name="dataSource" ref="dataSource" />
    <!--指定核MyBatis心配置文件位置 -->
    <property name="configLocation" value="classpath:./config/mybatis-config.xml" />
    </bean>
    <!-- 配置mapper扫描器 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.itheima.dao"/>
    </bean>

    <!-- 扫描Service -->
    <context:component-scan base-package="com.itheima.service.Impl" />

    mybatis-config.xml这里主要是设置了别名
    <typeAliases>
    <package name="com.itheima.po" />
    </typeAliases>


    springmvc-config.xml
    <!-- 配置包扫描器,扫描@Controller注解的类 -->
    <context:component-scan base-package="com.itheima.controller" />
    <!-- 加载注解驱动 -->
    <mvc:annotation-driven />
    <!-- 配置视图解析器 -->
    <bean class=
    "org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/jsp/" />
    <property name="suffix" value=".jsp" />
    </bean>

    web.xml

    <!--启动页设置-->
    <welcome-file-list>
    <welcome-file>/WEB-INF/jsp/ok.jsp</welcome-file>
    </welcome-file-list>
    <!-- 配置加载Spring文件的监听器-->
    <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:./config/applicationContext.xml</param-value>
    </context-param>
    <listener>
    <listener-class>
    org.springframework.web.context.ContextLoaderListener
    </listener-class>
    </listener>

    <!-- 编码过滤器 -->
    <filter>
    <filter-name>encoding</filter-name>
    <filter-class>
    org.springframework.web.filter.CharacterEncodingFilter
    </filter-class>
    <init-param>
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>encoding</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>

    <!-- 配置Spring MVC前端核心控制器 -->
    <servlet>
    <servlet-name>springmvc</servlet-name>
    <servlet-class>
    org.springframework.web.servlet.DispatcherServlet
    </servlet-class>
    <init-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:./config/springmvc-config.xml</param-value>
    </init-param>
    <!-- 配置服务器启动后立即加载Spring MVC配置文件 -->
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <servlet-name>springmvc</servlet-name>
    <!--/:拦截所有请求(除了jsp)-->
    <url-pattern>/</url-pattern>
    </servlet-mapping>
    整合的配置信息大概就是这些,比较基础。
  • 相关阅读:
    (原创)(二)作为测试负责人测试过程监控中关注的度量数据
    国产免费非开源测试管理软件MYPM 零配置安装过程
    (原创)存在于大多数小公司的测试管理问题
    抨击评价音频播放软件音质的穆伦
    关于C#交互式窗口(C# Shell REPL Interpreter Interactive)
    网上车管所系统更新日志
    SharpDevelop 用来临时在服务器上写Web服务很不错。
    弄到现在才知道网页没有combobox,弄网上的服务器控件不方便,自己用textbox+dropdownlist用CSS组合起一个简单的combobox效果。
    为什么国内的企业不收购WebOS、塞班、Meego?
    未能初始化 AppDomain:/LM/W3SVC/1/Root 服务应用程序不可用
  • 原文地址:https://www.cnblogs.com/jasonboren/p/10633868.html
Copyright © 2011-2022 走看看