文章目录

  • 博客概要
  • 1.项目搭建
  • 1.1选择使用maven管理创建项目
  • 1.2修改、导入资源
  • 1.3创建目录结构
  • 2.配置文件
  • 2.1Srping配置
  • 2.2SpringMVC配置
  • 2.3Mybatis配置
  • 2.4其他配置文件
  • 3.总结


1.项目搭建

1.1选择使用maven管理创建项目

     选择合适的架包进行开发,选择自己的SDK。



ssm框架里可以用springboot吗 ssm框架需要哪些配置文件_spring


     填写项目信息,“Groupld”填写公司名;“Aftifactld”填写项目名.



ssm框架里可以用springboot吗 ssm框架需要哪些配置文件_SMM——项目搭建+相关文件配置_02


     选择配置相关的源文件的地址路径,并且配置一下自己的本地仓储。



ssm框架里可以用springboot吗 ssm框架需要哪些配置文件_配置文件_03


1.2修改、导入资源

     选择“Enable Auto-Import”,让系统自动导包,联网!联网!联网!



ssm框架里可以用springboot吗 ssm框架需要哪些配置文件_配置文件_04


     修改版本号,修改成自己使用的相应版本。



ssm框架里可以用springboot吗 ssm框架需要哪些配置文件_spring_05


     复制相应配置命令,导入依赖文件,我这里放的不完整,请按照各自开发需求,导入相应文件,导入成功后相应命令字体就会变颜色。



ssm框架里可以用springboot吗 ssm框架需要哪些配置文件_xml_06


1.3创建目录结构



ssm框架里可以用springboot吗 ssm框架需要哪些配置文件_SMM——项目搭建+相关文件配置_07


目录介绍

1.java文件夹——放置项目具体代码
2.resources文件夹——放置资源配置文件
mapper文件夹——放置Mybatis的映射文件
spring文件夹——放置spring、springMVC配置文件
db.properties——数据库配置文件
log4j.properties——日志配置文件
mybatis-config.xml——Mybatis配置文件
3.jsp文件夹——放置前端具体页面
4.target文件夹——放置项目war包

     创建过程中需要改变一些文件夹的类型,java文件夹改为“Source Root”类型,resources文件夹改为“Resources Root”类型;配置文件,创建方式也略有区别。



ssm框架里可以用springboot吗 ssm框架需要哪些配置文件_配置文件_08

    


ssm框架里可以用springboot吗 ssm框架需要哪些配置文件_spring_09


ssm框架里可以用springboot吗 ssm框架需要哪些配置文件_SMM——项目搭建+相关文件配置_10

    


ssm框架里可以用springboot吗 ssm框架需要哪些配置文件_spring_11


2.配置文件

2.1Srping配置

spring-dao.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">

    <!--    1.获取db.properties文件,获取参数-->
    <context:property-placeholder location="classpath:db.properties" />

    <!--    2.获取dataSource数据源对象-->
    <!--    诸多数据库连接池之一,自动释放-->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
        <!--        2.1配置连接池参数-->
        <property name="driverClass" value="${jdbc.driver}" />
        <property name="jdbcUrl" value="${jdbc.url}" />
        <property name="user" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
        
        <!--        2.2优化连接池参数-->
        <!--        访问量限制-->
        <property name="maxPoolSize" value="30" />
        <property name="minPoolSize" value="10" />
        <!--        关闭数据库连接后,不自动提交,手动提交-->
        <property name="autoCommitOnClose" value="false" />
        <!--        超时等待-->
        <property name="checkoutTimeout" value="10000" />
        <!--        失败后,重新连接-->
        <property name="acquireIncrement" value="3" />
    </bean>

    <!--    3.创建sqlSessionFactory(Mybatis核心)-->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--        3.1注入数据库连接池-->
        <property name="dataSource" ref="dataSource" />
        <!--        3.2获取Mybatis的配置文件:Mybatis-config.xml-->
        <property name="configLocation" value="classpath:mybatis-config.xml" />
        <!--        3.3扫描包,使用别名-->
        <property name="typeAliasesPackage" value="com.wcw.pojo" />
        <!--        3.4加载获取映射文件mapper-->
        <property name="mapperLocations" value="classpath:mapper/*.xml" />
    </bean>

    <!--    4.获取dao对象:要与数据库打交道,注入容器-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!--            将dao注入sqlSessionFactory-->
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
        <property name="basePackage" value="com.wcw.dao" />
    </bean>

</beans>

解释名

解释内容

context:property-placeholder location=" "

"context:property-placeholder"用于Spring实现加载配置文件到容器

“location”——参数配置文件的位置

property name=" " value=" "

"property"标签用于设置属性

“name”——属性名

“value”——属性值

bean id=" " class=" "

"bean"标签用于在Spring容器中注入类

“id”——起名称

“class”——创建对象所在类的全路径

id=“dataSource”

class=“com.mchange.v2.c3p0.ComboPooledDataSource”

destroy-method=“close”

这里数据库连接池使用了c3p0

c3p0是一个开放源代码的JDBC连接池

destroy-method=“close”——将destroy方法设置为关闭,当数据库连接不使用时,自动释放,就把数据库连接放入连接池中,方便下次使用

name=“maxPoolSize / minPoolSize”

values=" "

设置访问量

max——最大访问

min——最小访问

values——限制数

name=“autoCommitOnClose”

values=" "

设置数据库提交,value值设为"false"在关闭数据库后,就不会自动提交

name=“checkoutTimeout”

values=" "

设置超时等待时间,value值为等待时间,"1000"为1秒

name=“acquireIncrement”

values=" "

设置失败后的重新连接次数,value值为次数

id=“sqlSessionFactory”

class=“org.mybatis.spring.SqlSessionFactoryBean”

sqlSessionFactory——sql会话工厂

Mybatis核心

name=“configLocation”

values=" "

设置Mybatis配置文件,value值为配置文件路径

name=“typeAliasesPackage”

values=" "

设置别名

name=“mapperLocations”

values=" "

设置映射文件,value为映射文件路径




spring-service.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: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/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">

<!--    1.扫描service包下的所有注解,让注解产生功能-->
    <context:component-scan base-package="com.wcw.service" />

<!--    2.生成事务管理器对象,产生事务管理transctionManager-->
    <bean id="transactionManage" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<!--        数据库注入-->
        <property name="dataSource" ref="dataSource" />
    </bean>

<!--    3.生成事务,事务管理操作,驱动器-->
    <tx:annotation-driven transaction-manager="transactionManage" />

<!--    4.生成service对象-->
    <bean id="paperService" class="com.wcw.service.impl.PaperServiceImpl" />

</beans>

解释名

解释内容

context:component-scan base-package=" "

扫描指定包,base-package值为指定包路径

tx:annotation-driven

transaction-manager=“transactionManage”

tx——transaction事务

tx:annotation-driven—— 支持事务注解

transaction-manager——指定到现有的PlatformTransaction Manager bean的引用,通知会使用该引用



2.2SpringMVC配置

spring-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-3.0.xsd">

<!--    1.将springMVC加载进入配置文件-->
<!--    注解作用 开启springMVC的注解模式:(1)自动注册(2)提供一些数据的格式化-->
    <mvc:annotation-driven />

<!-- 2.静态资源默认servlet配置
    (1)加入对静态资源的处理:js,gif,png
    (2)允许使用"/"做整体映射
-->
    <mvc:default-servlet-handler />

<!--    3.网址路径映射进行解析成view,就是根据路径找jsp页面-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--        指明解析什么类型的页面-->
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<!--        前缀设置-->
        <property name="prefix" value="/WEB-INF/jsp/" />
<!--        尾缀设置-->
        <property name="suffix" value=".jsp" />
    </bean>

<!--    4.扫描web相关的bean,页面之间的动作由controller产生-->
    <context:component-scan base-package="com.wcw.controller" />

</beans>

2.3Mybatis配置

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>

    <!-- Mybatis基本配置参数:用于设置Mybatis基本规则 -->
    <!-- 1.配置全局属性 -->
    <settings>
        <!-- 1.1 使用jdbc的getGeneratedKeys获取主键值,表字段自动增长列:自动增长 -->
        <setting name="useGeneratedKeys" value="true"/>
        <!-- 1.2 字段命名规则:小驼峰法则,使用别名替换列名 -->
        <setting name="useColumnLabel" value="true"/>
        <!-- 1.3 开启驼峰法则: 通过字段名转换为entity -->
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>

</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">

<!--namespace(告诉Mybatis要做什么)-->
<mapper namespace="com.wcw.dao.PaperDao">
<!--    告诉Mybatis,返回值的样子-->
    <resultMap id="paperResultMap" type="Paper">

        <id property="pid" column="pId" />
        <result property="pname" column="pName" />
        <result property="pnum" column="pNum" />
        <result property="pdetail" column="pDetail" />
    </resultMap>

<!--    全查-->
    <select id="selByAllP" resultMap="paperResultMap">
        select * from tb_paper
    </select>

</mapper>

解释名

解释内容

mapper namespace=" "

用于绑定dao接口的,即面向接口编程

property=" " column=" "

property——类中对应的属性名

column——sql返回的列名

parameterType=" "

设置输入相应的参数类型

resultType=" "

直接表示返回类型

resultMap=" "

设置对外部ResultMap的引用

pum=#{pnum}

pNum——列名

#{pnum}——{}内与类中对应属性名一致





2.4其他配置文件

db.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://127.0.0.1:3306/(数据库名)?useSSL=true&characterEncoding=utf-8
jdbc.username=(数据库用户名)
jdbc.password=(数据库密码)

log4j.properties

     日志配置文件里的东西,作者本人也不太懂,请务必"面向百度编程"= =

log4j.rootLogger=Error,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.conversionPattern=%5P [%t] - %m%n

web.xml

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>ssm_maven</display-name>

<!--  过滤器:对一切请求进行条件过滤,不管是什么请求,首先都会过滤掉-->
  <filter>
    <filter-name>encodingFilter</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>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>


<!--  程序入口需要去找jsp页面,需要加载SpringMVC加载视图解析器-->
  <servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--    告诉SpringMVC需要对那些页面解析,配置MVC框架需要加载的文件-->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:spring/spring-*.xml</param-value>
    </init-param>
  </servlet>

  <servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
<!--    默认匹配所有的请求-->
    <url-pattern>/</url-pattern>
  </servlet-mapping>

</web-app>

解释名

解释内容

-name

设置名称

-class

设置路径

init-param

设置参数

-value

设置值

-mapping

设置映射

url-pattern

设置元素指定对应路径



3.总结

     其实以上蛮多的知识点解释,在实际开发的时候,对于初级码农来说并没有什么很大的作用,因为在大多数情况之下,配置文件里的很多架构信息都是由其他相关人员设计好的,初级码农只要求懂自己"要改什么"、“在哪里改”、“怎么改"等一些基本的技能点就好了,因为有些配置文件里的标签啊啥的,只有到了一定境界了之后,才有足够的底气去支配这些偏底层架构的工作,目前来讲的话,咱还是老老实实先巩固手头的技能,毕竟"一口吃不成胖子”,更何况咱还是"吃不胖"体质= =