天天看點

ssm整合筆記(配置檔案

  • 建立資料庫
  • 基本環境搭建
    • 連接配接資料庫

      bd.properties

      jdbc.driver=com.mysql.jdbc.Driver
      # mysql8.0+s需要加入一個時區配置:  ?serverTimezone=UTC
      jdbc.url=jdbc:mysql://localhost:3306/ssmbuild
      jdbc.username=root
      jdbc.password=Wjy12300.
                 
    • 包目錄結構
      • mapper
      • service
      • controller
      • pojo
    • resources
      • mybatis-config.xml (mybatis核心配置
        <!--
        	1. 配置typeAliea 面向pojo
        	2. 配置映射到哪個mapper.xml
        -->
        <?xml version="1.0" encoding="UTF-8" ?>
        <!DOCTYPE configuration
                PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
                "http://mybatis.org/dtd/mybatis-3-config.dtd">
        <configuration>
        <!--    日志列印 -->
          <settings>  
               <setting name="logImpl" value="STDOUT_LOGGING" />  
          </settings>
        <!--    引用别名 -->
            <typeAliases>
                <package name="com.qqhru.pojo"/>
            </typeAliases>
        
        <!--    映射配置 -->
            <mappers>
                <package name="com.qqhru.mapper.BookMapper"/>
          </mappers>
        </configuration>
                   
      - Spring-dao.xml
      
        ```xml
        <!--spring整合mybatis
                1. 擷取資料源配置檔案 <context:property-placeholder
                2. 指派資料源 <bean class="DriverManagerDataSource" (JdBC連接配接池
                3. 根據資料源和sqlSessionFactoryBean 擷取sqlSession對象
                4. 根據sqlSession對象建立sqlSessionTemplate對象
                5. 為mapperImpl中的對象注入值
                6. 設定自動掃描 ma p層包中的類 注冊到spring中
        -->
        <?xml version="1.0" encoding="UTF-8"?>
        <beans xmlns="http://www.springframework.org/schema/beans"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns:context="http://www.springframework.org/schema/context"
               xsi:schemaLocation="http://www.springframework.org/schema/beans
                https://www.springframework.org/schema/beans/spring-beans.xsd
                http://www.springframework.org/schema/context
                https://www.springframework.org/schema/context/spring-context.xsd">
        <!--    首先擷取資料源 -->
            <context:property-placeholder location="classpath:db.properties"/>
        
        <!--    加載資料源 引用配置檔案中的配置-->
            <bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
                <property name="driverClassName" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </bean>
        <!--    在 MyBatis-Spring 中,可使用 SqlSessionFactoryBean來建立 SqlSessionFactory。
        要配置這個工廠 bean,隻需要把下面代碼放在 Spring 的 XML 配置檔案中: -->
            <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--        通過資料源擷取sqlSessionFactory對象 -->
                <property name="dataSource" ref="datasource" />
        <!--        配置全局配置檔案 -->
                <property name="configLocation" value="classpath:mybatis-config.xml"/>
                <property name="mapperLocations" value="classpath:com/qqhru/mapper/*.xml"/>
            </bean>
        
                <!--注冊sqlSessionTemplate , 關聯sqlSessionFactory-->
                <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
                    <!--利用構造器注入-->
                    <constructor-arg index="0" ref="sqlSessionFactory"/>
                </bean>
        
        <!--    為dao中sqlSessionTemplate指派-->
            <bean class="com.qqhru.mapper.impl.BookDaoImpl">
                <property name="sqlSessionTemplate" ref="sqlSession"/>
            </bean>
            <!--
                   自動掃描包中的類 并注冊到Spring中
            解釋 :https://www.cnblogs.com/jpfss/p/7799806.html-->
            <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
                <!-- 注入sqlSessionFactory -->
                <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
                <!-- 給出需要掃描Dao接口包 -->
                <property name="basePackage" value="com.qqhru.mapper"/>
            </bean>
        
      </beans>
        
                 
      • spring-service.xml
        <!--
        	1. 設定自動掃描 service層包中的類 注冊到spring中
        	2. 注冊<bean class="XxxServiceImpl"> 為service中的的mapper屬性指派
        -->
        <?xml version="1.0" encoding="UTF-8"?>
        <beans xmlns="http://www.springframework.org/schema/beans"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns:context="http://www.springframework.org/schema/context"
               xsi:schemaLocation="http://www.springframework.org/schema/beans
                https://www.springframework.org/schema/beans/spring-beans.xsd
                http://www.springframework.org/schema/context
                https://www.springframework.org/schema/context/spring-context.xsd">
            <context:component-scan base-package="com.qqhru.service"/>
            <bean id="bookService" class="com.qqhru.service.Impl.BookServiceImpl">
                <property name="bookMapper" ref="bookMapper"/>
          </bean>
        </beans>
                   
      - springmvc-config.xml (後面還涉及到靜态資源的過濾配置 )
      
        ```xml
        <!--
        	1. 配置視圖解析器
        	2. 開啟注解支援
        	3. 設定自動掃描 controller層包中的類 注冊到spring中
        	4. 靜态資源過濾設定
        -->
        <?xml version="1.0" encoding="UTF-8"?>
        <beans xmlns="http://www.springframework.org/schema/beans"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns:context="http://www.springframework.org/schema/context"
               xmlns:mvc="http://www.springframework.org/schema/mvc"
               xsi:schemaLocation="http://www.springframework.org/schema/beans
               http://www.springframework.org/schema/beans/spring-beans.xsd
               http://www.springframework.org/schema/context
               http://www.springframework.org/schema/context/spring-context.xsd
               http://www.springframework.org/schema/mvc
               https://www.springframework.org/schema/mvc/spring-mvc.xsd">
                <mvc:annotation-driven/>
        <!--    靜态資源過濾 -->
                <mvc:default-servlet-handler/>
        <!--    視圖解析器-->
                <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
                    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
                    <property name="prefix" value="/WEB-INF/pages/" />
                    <property name="suffix" value=".jsp" />
                </bean>
        <!--    其實mvc掃描的應該是視圖層 -->
                <context:component-scan base-package="com.qqhru.controller"/>
      
        </beans>
                 
      • web.xml
        <!--
        	1. 配置前端控制器
        	2. 靜态資源過濾
        -->
        <?xml version="1.0" encoding="UTF-8"?>
        <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                  http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
                 version="3.1">
        
            <servlet>
                <servlet-name>dispatcherServlet</servlet-name>
                <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
                <init-param>
                    <param-name>contextConfigLocation</param-name>
                    <param-value>classpath:applactionContext.xml</param-value>
                </init-param>
                <load-on-startup>1</load-on-startup>
            </servlet>
            <servlet-mapping>
                <servlet-name>dispatcherServlet</servlet-name>
                <url-pattern>/</url-pattern>
            </servlet-mapping>
        
            <!--  過濾器-->
            <filter>
                <filter-name>characterEncodingFilter</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>
                <init-param>
                    <param-name>forceEncoding</param-name>
                    <param-value>true</param-value>
                </init-param>
            </filter>
            <filter-mapping>
                <filter-name>characterEncodingFilter</filter-name>
                <url-pattern>/*</url-pattern>
            </filter-mapping>
        
            <servlet-mapping>
                <servlet-name>dispatcherServlet</servlet-name>
                <url-pattern>*.action</url-pattern>
          </servlet-mapping>
        </web-app>
                   
      - applactionContext.xml (spring核心配置
      
        ```xml
        <?xml version="1.0" encoding="UTF-8"?>
        <beans xmlns="http://www.springframework.org/schema/beans"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="http://www.springframework.org/schema/beans
               http://www.springframework.org/schema/beans/spring-beans.xsd">
        
            <import resource="springmvc-config.xml"/>
            <import resource="spring-dao.xml"/>
          <import resource="spring-service.xml"/>
        </beans>
                 

繼續閱讀