SSM框架环境的搭建

1.导入以下Maven依赖

包括spring以及springMvc依赖	
	<dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>

        <!--context-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.0.0.RELEASE</version>
        </dependency>

        <!--aop-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>4.0.0.RELEASE</version>
        </dependency>

        <!--beans-->
        <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>4.0.0.RELEASE</version>
        </dependency>

        <!--expression-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-expression</artifactId>
            <version>4.0.0.RELEASE</version>
        </dependency>

        <!--web-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.0.0.RELEASE</version>
        </dependency>


        <!--    mybatis    -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.45</version>
        </dependency>

        <!--    mybatis-core    -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.0</version>
        </dependency>

        <!--    mybatis-spring    -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>2.0.0</version>
        </dependency>

        <!--    druid 阿里    -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.9</version>
        </dependency>

        <!--    spring-tx    -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>4.0.0.RELEASE</version>
        </dependency>

        <!--    jstl    -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
   </dependencies>

2.Resource目录所需的配置文件

在这里插入图片描述
​ ----》1.spring配置文件

​ application-context.xml

​ ----》2.springmvc配置文件

​ application-mvc.xml

​ ----》3.mybatis配置文件

​ application-mybatis.xml

接下来是每个文件的配置信息

1.application-context.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"
       xmlns:context="http://www.springframework.org/schema/context"
       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">

    <!--包扫描器-->
    <context:component-scan base-package="com.zhentao"></context:component-scan>

    <!--mybatis配置-->
    <!-- 1.数据源 -->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
        <!--Driver-->
        <property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
        <!--url-->
        <property name="url" value="jdbc:mysql://localhost:3306/test?useSSL=false"></property>
        <!--username-->
        <property name="username" value="root"></property>
        <!--password-->
        <property name="password" value="root"></property>
    </bean>


    <!-- 2.配置mybatisy映射 sqlsession工厂-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--1.加载mybatisconfig.xml-->
        <!--<property name="configLocation" value="classpath:application-mybatis.xml"></property>-->
        <!--2.加载数据源-->
        <property name="dataSource" ref="dataSource"></property>
        <!--3.加载mapper.xml-->
        <property name="mapperLocations" value="classpath:mybatis/*Mapper.xml"></property>
        <!--4.配置mapper扫描包路径-->
        <property name="typeAliasesPackage" value="com.zhentao.mapper"></property>
    </bean>

    <!-- 3.配置事务支持 -->
    <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean>

    <!-- 4.配置mapper映射代理 以下两种方式-->
    <!--第一种 每创建一个mapper,就需要配置对应的xml映射文件-->
    <!--<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="com.zhentao.mapper.UserMapper"></property>
        <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
    </bean>-->
    <!--第二种 配置Mapper扫描器,优化上面单例配置-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.zhentao.mapper"></property>
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
    </bean>
    
</beans>

细节:

在上面 --》 2.配置mybatisy映射 sqlsession工厂 —》》1.加载mybatisconfig.xml 这里可以看到已经注释
因为我们可以看到第三步以及第四步已经配置完mapper.xml以及它的扫描包路径,所以不需要配置原生的
mybatis的配置文件,算是一种优化

接下来看看原生的写法
我们需要创建一个xml文件,来保存xml映射文件和mapper
在这里插入图片描述

也就是我们创建的application-mybatis.xml,也就是说如果刚刚我们按照上面的配置,直接可以省略这个文件
如果想使用原生mybatis配置,就需要在xml里进行繁琐的配置
在这里插入图片描述
大家可以看到,我们只是一个mapper和xml映射,通过起别名的方式配置实体类,还有class以及resource资源的配置
那假如我们项目很大,需要很多张表,那么每个数据库都会有对应的实体类以及mapper接口和xml映射文件,那么我们就需要
配置大量的mapper标签,所以很麻烦。因此一般我们直接采用上述方法进行优化,可以加载所有的xml以及mapper类

2.application-mvc.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"
       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
       http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!--包扫描器-->
    <context:component-scan base-package="com.zhentao"></context:component-scan>

    <!--开启注解模式支持-->
    <mvc:annotation-driven></mvc:annotation-driven>

    <!--试图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/view/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>

</beans>

在这里整理了一些就是SSM空框架的搭建,如果需要三层架构的快速生成,介意使用代码生成器自动生成哦!然后就可以进行控制器连接业务层,在访问数据,最后通过springmvc的配置,展示到浏览器页面

流程显示:

在这里插入图片描述
流程说明(重要):

(1)客户端(浏览器)发送请求,直接请求到 DispatcherServlet。

(2)DispatcherServlet 根据请求信息调用 HandlerMapping,解析请求对应的 Handler。

(3)解析到对应的 Handler(也就是我们平常说的 Controller 控制器)后,开始由 HandlerAdapter 适配器处理。

(4)HandlerAdapter 会根据 Handler 来调用真正的处理器开处理请求,并处理相应的业务逻辑。

(5)处理器处理完业务后,会返回一个 ModelAndView 对象,Model 是返回的数据对象,View 是个逻辑上的 View。

(6)ViewResolver 会根据逻辑 View 查找实际的 View。

(7)DispaterServlet 把返回的 Model 传给 View(视图渲染)。

(8)把 View 返回给请求者(浏览器)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值