SSM框架模板(高配:一次性配完所有需要的配置文件)

目录

一、pom.xml文件配置(基本不需要修改)

二、applicationContex.xml文件的配置。(这里只有一个地方需要修改)

三、mybatis-config.xml文件配置(根据需要修改)

四、配置web.xml文件(基本不需要修改)

五、配置springmvc文件。(基本不用修改)

六、最后配置log4j.properites文件。(基本不需要修改)


一、pom.xml文件配置(基本不需要修改)

从数据库连接 到从网页输出数据库的信息,基本包都在这。包括哪个包什么作用也标注了。

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.example</groupId>
  <artifactId>SSM_new</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>war</packaging>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

    <!--    最常用的包,这个包包括core,beans,-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.3.18</version>
    </dependency>
    <!--Spring-beans包,bean标签-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>5.3.18</version>
    </dependency>
    <!--jdbc包,进行数据库操作的包-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>5.3.18</version>
    </dependency>
    <!--事务管理包-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-tx</artifactId>
      <version>5.3.18</version>
    </dependency>
    <!--数据库源的包-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.28</version>
    </dependency>
    <!--进行mybatis操作的包-->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.6</version>
    </dependency>

    <!--    mybatis-spring的包,进行整合的包-->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>2.0.6</version>
    </dependency>
<!--springmvc框架的依赖包,用于网页输出-->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.3.18</version>
    </dependency>
<!--    这个是jstl标签的依赖包,用于c:foreach 遍历 model属性-->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>

    <!-- log4j配置文件需要的依赖-->
    <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </dependency>

    <!-- slf4j日志输出,它必须和log4j进行绑定,才能输出到控制台 -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.7.32</version>
    </dependency>
  </dependencies>

  <!--  这个是IDEA必须存在的,指在用途是告诉IDEA,Mapper.xml文件的位置,
        因为一般默认情况下IDEA是不会去Java目录的,尽管你添加Java路径都没用-->
  <build>
    <resources>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.xml</include>
        </includes>
      </resource>
    </resources>
  </build>

</project>

二、applicationContex.xml文件的配置。(这里只有一个地方需要修改)

因为每个人的服务器的接口和名称与密码都不一样。这里需要修改。

扫描二维码关注公众号,回复: 15829220 查看本文章

<?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:tx="http://www.springframework.org/schema/tx"
       xmlns:p="http://www.springframework.org/schema/p"
       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/tx
       http://www.springframework.org/schema/tx/spring-tx.xsd
       http://www.springframework.org/schema/context
       https://www.springframework.org/schema/context/spring-context.xsd">

    <!--由spring管理    配置数据源数据库连接(从jdbc属性文件中读取参数) -->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="url" value="jdbc:mysql://localhost:3307/student?serverTimezone=Asia/Shanghai"/>
        <property name="username" value="root"/>
        <property name="password" value="dada"/>
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
    </bean>

    <!-- 整合 mybatis -->
    <bean id="sqlSessionFactory"
          class="org.mybatis.spring.SqlSessionFactoryBean"
          p:dataSource-ref="dataSource"
          p:configLocation="classpath:mybatis-config.xml"/>

    <!--  mybatis自动扫描 将Mapper接口生成代理注入到Spring -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"
          p:sqlSessionFactoryBeanName="sqlSessionFactory"
          p:basePackage="dao" />

    <!--扫描service包下所有使用注解的类型  这里扫描的是service的事务管理器-->
    <context:component-scan base-package="service"/>

    <!--配置事务管理器-->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <!--注入数据库连接池-->
        <property name="dataSource" ref="dataSource"/>
    </bean>

    <!--配置基于注解的声明式事务
    默认使用注解来管理事务行为-->
    <tx:annotation-driven transaction-manager="transactionManager"/>

    <!--    需要注意,这一句不能遗漏,如果缺少这一句,
       -->
    <context:component-scan base-package="controller"/>

</beans>

注意一下,刚配置好这个文件可能会有几个地方爆红。是因为,我们还有几个文件没配置,比如:mybatis-config.xml还没配置。

三、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>
    <mappers>
        <mapper resource="mybatis/UserMapper.xml"/>
    </mappers>
</configuration>  

四、配置web.xml文件(基本不需要修改)

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         id="WebApp_ID" version="3.1">
    <!-- 实例化ApplicationContext容器 -->
    <context-param>
        <!-- 加载src目录下的applicationContext.xml文件 -->
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath:applicationContext.xml
        </param-value>
    </context-param>
    <!-- 指定以ContextLoaderListener方式启动Spring容器 -->
    <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>
    <!--配置DispatcherServlet -->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:springmvc.xml</param-value>
        </init-param>

        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</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>
</web-app>

注意这里可能会在springmvc这个爆红。因为还没有配置这个文件。

五、配置springmvc文件。(基本不用修改)

<?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 
       https://www.springframework.org/schema/context/spring-context.xsd">
    
    <!--视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

    <!--扫包-->
<!--    它的作用是在浏览器输入 /input 可以识别Controller定义的 /input-->
    <context:component-scan base-package="controller"/>

</beans>

六、最后配置log4j.properites文件。(基本不需要修改)

这个文件还是比较重要的,它可以跟踪我们的操作,在控制台跟踪我们输入、输出的信息。

# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# MyBatis logging configuration...
log4j.logger.com.dao=DEBUG
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

注意:这里配置好了。还需要配置一些info信息,去跟踪这些信息的输出信息。

分别在controller类和service类加入代码: (这个方法请记下来,以后都用得到)

private static final Logger logger = LoggerFactory.getLogger(LoginController.class);


logger.info("input info:{}",user);

现在所有配置文件 基本都配置好了。可以开始写代码,比如:创建dao层、service层、contoller层、mybatis层、po层、 View层。

这里需要注意一下jsp层的位置,一定要放在WEB-INF目录里面。

这个关系是因为我们在springmvc定义了它的位置。如果你不想放在这个目录下,那么就请修改这个文件的value的位置。

后记:刚做完这个笔记就犯了一个这样的错误!!yue了

 这里就是将jsp没有放在WEB-INF目录下。,结果一直导致404!!!!

后续训练:登录验证的尝试SSM结构。

遇到的问题:

第一个问题:空指针异常   java.lang.NullPointerException

(进行判断账号和密码是否获取到了,在这里少了对list进行空指针的判定,如果没有list!=null。那么后续,就会出现null.getAccount这种的情况。你也可以添加日志记录list是一个什么数据。)

第二个问题(旧问题了):不能使用items装饰 po.User类型。

loginList,在service层,它定义对应的是UserDao.login(user)。这个的返回类型是User类,也就是我没有使用List<User> 的类型修饰他,所以loginList不是一个items的类型。

猜你喜欢

转载自blog.csdn.net/qq_55928086/article/details/131562405