SSM(一)

在SSM(Spring + SpringMVC + MyBatis)框架中,配置文件是项目的核心组成部分,用于定义框架的行为和组件之间的关系。以下是SSM框架中常见的配置文件及其作用和配置要点。

1. Spring配置文件

Spring配置文件主要用于管理Bean的创建、依赖注入、事务管理等。通常命名为applicationContext.xml,位于src/main/resources/spring目录下。

核心配置
  • Bean扫描:指定Spring扫描的包路径,以便自动发现注解(如@Service@Repository等)。

    xml复制

    <context:component-scan base-package="com.example.project" />
  • 数据源配置:定义数据库连接的配置信息。

    xml复制

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/your_database" />
        <property name="username" value="root" />
        <property name="password" value="password" />
    </bean>
  • 事务管理:配置事务管理器和事务增强。

    xml复制

    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    </bean>
    
    <tx:annotation-driven transaction-manager="transactionManager" />

2. SpringMVC配置文件

SpringMVC配置文件主要用于管理Web相关的配置,如请求映射、视图解析器等。通常命名为spring-mvc.xml,位于src/main/resources/spring目录下。

核心配置
  • 视图解析器:配置JSP视图解析器。

    xml复制

    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp" />
    </bean>
  • 注解驱动:启用SpringMVC的注解支持。

    xml复制

    <mvc:annotation-driven />
  • 静态资源访问:配置静态资源的访问路径。

    xml复制

    <mvc:resources location="/static/" mapping="/static/**" />

3. MyBatis配置文件

MyBatis配置文件主要用于定义MyBatis的行为,如数据库连接池、SQL映射文件等。通常命名为mybatis-config.xml,位于src/main/resources/mybatis目录下。

核心配置
  • 数据库环境:配置数据库连接信息。

    xml复制

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/your_database" />
                <property name="username" value="root" />
                <property name="password" value="password" />
            </dataSource>
        </environment>
    </environments>
  • 映射文件:指定Mapper文件的位置。

    xml复制

    <mappers>
        <mapper resource="com/example/project/mapper/UserMapper.xml" />
    </mappers>

4. MyBatis Mapper文件

Mapper文件用于定义SQL语句和Java对象之间的映射关系。通常位于src/main/resources/mybatis目录下,文件名与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.project.mapper.UserMapper">
    <select id="getUserById" parameterType="int" resultType="com.example.project.entity.User">
        SELECT * FROM users WHERE id = #{id}
    </select>
</mapper>

5. 整合Spring和MyBatis

在Spring配置文件中,需要配置MyBatis的SqlSessionFactory和Mapper扫描。

配置SqlSessionFactory

xml复制

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="configLocation" value="classpath:mybatis/mybatis-config.xml" />
    <property name="mapperLocations" value="classpath:mybatis/mapper/*.xml" />
</bean>
Mapper扫描

xml复制

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.example.project.mapper" />
</bean>

6. web.xml配置

web.xml是Web应用的配置文件,用于定义Servlet和过滤器等。

SpringMVC的DispatcherServlet

xml复制

<servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring/spring-mvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>
Spring的ContextLoaderListener

xml复制

<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring/applicationContext.xml</param-value>
</context-param>

7. 整合步骤

  1. 创建项目结构:按照SSM项目的目录结构创建项目。

  2. 添加依赖:在pom.xml中添加Spring、SpringMVC、MyBatis等依赖。

  3. 配置文件:编写applicationContext.xmlspring-mvc.xmlmybatis-config.xml等配置文件。

  4. 编写代码:实现Controller、Service、DAO和实体类。

  5. 运行项目:启动项目,测试功能。

通过以上配置,SSM框架可以实现一个完整的Web应用,具备良好的分层结构和清晰的职责划分。

SSM项目(Spring + SpringMVC + MyBatis)的整体结构通常基于MVC设计模式,分为四层:视图层(View)、控制层(Controller)、业务逻辑层(Service)和数据访问层(DAO)。以下是SSM项目整体结构的详细说明:

1. 项目目录结构

一个典型的SSM项目通常采用Maven项目结构,其目录结构如下:

复制

project-name/
|-- src/
|   |-- main/
|   |   |-- java/
|   |   |   |-- controller/ (控制器层)
|   |   |   |-- dao/ (数据访问层)
|   |   |   |   |-- mapper/ (MyBatis映射接口)
|   |   |   |-- entity/ (实体类)
|   |   |   |-- service/ (业务逻辑层)
|   |   |   |-- util/ (工具类)
|   |   |-- resources/
|   |   |   |-- mybatis/ (MyBatis配置文件和映射文件)
|   |   |   |-- spring/ (Spring配置文件)
|   |   |-- webapp/
|   |   |   |-- WEB-INF/
|   |   |   |   |-- jsp/ (视图模板)
|   |   |   |   |-- lib/ (依赖库)
|   |   |   |   |-- web.xml (Web配置文件)
|   |   |   |-- static/ (静态资源文件夹:CSS、JS等)
|   |   |   |-- images/ (图片目录)
|   |-- test/
|   |   |-- java/
|   |   |-- resources/
|-- target/
|-- pom.xml

2. 四层架构

SSM项目的核心是四层架构,每层都有明确的职责:

(1)视图层(View)
  • 职责:负责显示数据和接收用户输入,通常由JSP页面、HTML页面或前端框架(如Vue.js)组成。

  • 位置src/main/webapp/WEB-INF/jsp 或其他静态资源目录。

(2)控制层(Controller)
  • 职责:接收用户请求,调用业务逻辑层(Service)处理请求,并将结果返回给视图层。

  • 位置src/main/java/controller

  • 实现方式:使用SpringMVC框架,通过注解(如@Controller)定义控制器。

(3)业务逻辑层(Service)
  • 职责:封装业务逻辑,调用数据访问层(DAO)完成数据操作,为控制层提供数据支持。

  • 位置src/main/java/service

  • 实现方式:使用Spring框架管理业务对象,通过接口和实现类分离业务逻辑。

(4)数据访问层(DAO)
  • 职责:负责与数据库交互,实现数据的增删改查操作。

  • 位置src/main/java/daosrc/main/resources/mybatis

  • 实现方式:使用MyBatis框架,通过Mapper接口和Mapper.xml文件定义SQL操作。

3. 各层之间的关系

  • DAO层:独立开发,提供数据访问接口,由Spring配置管理。

  • Service层:调用DAO层接口,封装业务逻辑,为Controller层提供服务。

  • Controller层:接收用户请求,调用Service层方法,将结果返回给View层。

  • View层:与Controller层紧密结合,展示数据给用户。

4. 框架的作用

  • Spring:作为整个项目的“粘合剂”,负责对象的创建、初始化和依赖注入(IoC),同时提供事务管理、AOP等功能。

  • SpringMVC:负责请求的转发和视图管理,通过DispatcherServlet处理用户请求。

  • MyBatis:作为数据持久化框架,简化数据库操作,通过映射文件(Mapper.xml)实现SQL语句的配置。

这种分层结构使得SSM项目具有良好的可维护性和扩展性,各层之间低耦合,便于开发和维护。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值