软件编程
位置:首页>> 软件编程>> java编程>> Java SSM配置文件案例详解

Java SSM配置文件案例详解

作者:胖虎学Java  发布时间:2022-10-14 09:43:19 

标签:Java,SSM

先对Spring SpringMVC和Mybatis单独进行配置,最后对三者进行整合配置

Spring

实际使用中,一般会使用注解+xml配置来实现spring功能,其中xml配置对上文进行总结,配置内容如下


<?xml version="1.0" encoding="UTF-8"?>
<!--在使用spring 相关jar包的时候进行配置 每个jar包对应一个xmlns和schemaLocation路径-->
<!--格式基本相关 只要修改相关的关键字-->
<beans xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:aop="http://www.springframework.org/schema/aop"
      xmlns:context="http://www.springframework.org/schema/context"
      xmlns:tx = "http://www.springframework.org/schema/tx"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
<!--    开启注解扫描 ,才可以使用注解 可以使用use-default-filter配合include-filer和exclude-filter使用    -->
   <context:component-scan base-package="com.jdbcTemplate" ></context:component-scan>

<!--    开启aop-->
   <aop:aspectj-autoproxy></aop:aspectj-autoproxy>

<!--    JdbcTemplate使用-->
   <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
       <property name="url" value="jdbc:mysql:/book"/>
       <property name="username" value = "root"/>
       <property name="password" value = "LRY990722"/>
       <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
   </bean>

<bean id="'jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
       <property name="dataSource" ref="dataSource"></property>
   <bean/>

<!--创建事务管理器-->
   <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
   <!--注入数据源-->
   <property name="dataSource" ref="dataSource"></property>
       <!--开启事务注解-->
   <tx:annotation-driven transaction-manager="transactionManager" ></tx:annotation-driven>

</bean>
</beans>

springMVC

web.xml配置文件


<!-- 配置SpringMVC的前端控制器,对浏览器发送的请求统一进行处理 -->
<servlet>
   <servlet-name>springMVC</servlet-name>
   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
   <!-- 通过初始化参数指定SpringMVC配置文件的位置和名称 -->
   <init-param>
       <!-- contextConfigLocation为固定值 -->
       <param-name>contextConfigLocation</param-name>
       <!-- 使用classpath:表示从类路径查找配置文件,例如maven工程中的src/main/resources -->
       <param-value>classpath:springMVC.xml</param-value>
   </init-param>
   <!--
作为框架的核心组件,在启动过程中有大量的初始化操作要做
而这些操作放在第一次请求时才执行会严重影响访问速度
因此需要通过此标签将启动控制DispatcherServlet的初始化时间提前到服务器启动时
-->
   <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
   <servlet-name>springMVC</servlet-name>
   <!--
       设置springMVC的核心控制器所能处理的请求的请求路径
       /所匹配的请求可以是/login或.html或.js或.css方式的请求路径
       但是/不能匹配.jsp请求路径的请求
   -->
   <url-pattern>/</url-pattern>
</servlet-mapping>

springMVC.xml配置文件


<!-- 自动扫描包 -->
<context:component-scan base-package="com.atguigu.mvc.controller"/>

<!-- 配置Thymeleaf视图解析器 -->
<bean id="viewResolver" class="org.thymeleaf.spring5.view.ThymeleafViewResolver">
   <property name="order" value="1"/>
   <property name="characterEncoding" value="UTF-8"/>
   <property name="templateEngine">
       <bean class="org.thymeleaf.spring5.SpringTemplateEngine">
           <property name="templateResolver">
               <bean class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver">

<!-- 视图前缀 -->
                   <property name="prefix" value="/WEB-INF/templates/"/>

<!-- 视图后缀 -->
                   <property name="suffix" value=".html"/>
                   <property name="templateMode" value="HTML5"/>
                   <property name="characterEncoding" value="UTF-8" />
               </bean>
           </property>
       </bean>
   </property>
</bean>

<!--
  处理静态资源,例如html、js、css、jpg
 若只设置该标签,则只能访问静态资源,其他请求则无法访问
 此时必须设置<mvc:annotation-driven/>解决问题
-->
<mvc:default-servlet-handler/>

<!-- 开启mvc注解驱动 -->
<mvc:annotation-driven>
   <mvc:message-converters>
       <!-- 处理响应中文内容乱码 -->
       <bean class="org.springframework.http.converter.StringHttpMessageConverter">
           <property name="defaultCharset" value="UTF-8" />
           <property name="supportedMediaTypes">
               <list>
                   <value>text/html</value>
                   <value>application/json</value>
               </list>
           </property>
       </bean>
   </mvc:message-converters>
</mvc:annotation-driven>

Mybatis

Mybatis-config.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>
   <environments default="development">
       <environment id="development">
           <transactionManager type="JDBC"/>
           <dataSource type="POOLED">
               <property name="driver" value="com.mysql.jdbc.Driver"/>
               <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=utf8"/>
               <property name="username" value="root"/>
               <property name="password" value="LRY990722"/>
           </dataSource>
       </environment>
   </environments>

<!--    mapper.xml都需要在mybatis核心配置文件中配置-->
   <mappers>
       <mapper resource="com/example/mapper/UserMapper.xml"/>
   </mappers>
</configuration>

mapper.xml中配置文件如下:


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
       PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
       "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper">
   <select id="selectUser" resultType="com.example.pojo.User">
       select * from user
   </select>
</mapper>

有时候读取不到mapperl.xml配置的原因,提示java.io.IOException: Could not find resource,原因可能有
1)配置文件是否在Resource路径下;

2)如果在src/main/java目录下,需要在项目的pom.xml中加入;


   <build>
       <resources>
           <resource>
               <directory>src/main/java</directory>
               <includes>
                   <include>**/*.properties</include>
                   <include>**/*.xml</include>
               </includes>
               <filtering>false</filtering>
           </resource>
           <resource>
               <directory>src/main/resources</directory>
               <includes>
                   <include>**/*.properties</include>
                   <include>**/*.xml</include>
               </includes>
               <filtering>false</filtering>
           </resource>
       </resources>
   </build>

使得可以读取src/main/java下的xml和properti文件

3)如果还没有结果,看是否是自己的多层路径的问题,有时候创建文件时候例如com.example.mapper不是三层路径,可以展开看一下。

SSM整合

SSM整合配置

来源:https://blog.csdn.net/foreverlove1999/article/details/119967444

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com