学习使用搭建SSM框架搭建Web项目

SSM框架的学习记录

  • 前言
    • 一、spring.xml的配置与概念
    • 二、springmvc概念和配置
    • 三、mybatis-config.xml配置与理解
    • 四、web.xml的配置与理解
    • 五、JDBC的proerties的配置文档
    • 六、Log4j的配置与概念(耐心看)
    • 总结

前言

在学习SSM框架过程中,自己也参考了很多CSDN上大佬们的配置资料,自己也有总结
spring.xml,目录:放在src根目录下:如src/XXX.xml
springmvc.xml, 同上
mybatis-config.xml, 同上
db.properties, 同上
log4j.properties, 同上
web.xml, 目录:WEB-INF/web.xml

如下所示:
学习使用搭建SSM框架搭建Web项目_第1张图片
下面我就将我自己的理解写下来。有不对的地方多多指教,谢谢!

一、spring.xml的配置与概念

Spring像我个人接触到最多的是IOC(控制反转)容器,他可以装在JavaBean(就是我们的Java中的类,当然包括service dao层),有了这个机制,就可以不再在每次使用这个类的时候为他初始化,简单的来说就是不用每次去“new”关键字了。
另外还有AOP(面向切面编程)。最主要就是开发过程中事务的处理。

  1. spring.xml配置:

这个是SSM框架中的spring,但是现在很多公司都在用SpringBoot(微服务框架),之后再学习这个加油




xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 	
xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"


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-3.1.xsd    
                    http://www.springframework.org/schema/context    
                    http://www.springframework.org/schema/context/spring-context-3.1.xsd    
                    http://www.springframework.org/schema/mvc    
                    http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
                    http://www.springframework.org/schema/tx 
                    http://www.springframework.org/schema/tx/spring-tx-4.3.xsd
                    http://www.springframework.org/schema/aop             
                    http://www.springframework.org/schema/aop/spring-aop-4.3.xsd">
                    





	



	
	
	
	
	
	
	
	
	
	
	
	
	
	




	
	
	




	
	





	


	
		
	



	
	


二、springmvc概念和配置

springMVC是spring框架的一个模块,springMVC和spring无需通过中间整合层进行整合。springMVC是一个基于mvc的web框架。有不对的地方请纠正。
学习使用搭建SSM框架搭建Web项目_第2张图片
1.springmvc.xml的配置



    








  
  










  
    
      
        10485760
      
    
    
        UTF-8
    


三、mybatis-config.xml配置与理解

对于这个来说,它就像个手电筒,可以使黑暗的地方变得明亮,话说回来,是对jdbc的封装,是数据库底层变得透明,它的核心关键是围绕sqlsessionFactory展开的,实现与数据库进行数据交互。
通过配置文件关联到各个实体类中的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令比如:
在dao层中有“实现(implement)”和“接口(interface)”,有的项目中只有接口与xml配置sql语句。
这里的xml配置的sql语句就是需要框架去调用它了,用到spring.xml

1.mybatis-config配置


 




 
	
 	 
	 
   	 	
    	
    	
    	
 	 
 	
 
 

	


四、web.xml的配置与理解

web.xml文件是用来初始化工程配置信息的,比如说welcome页面,filter,listener,servlet,servlet-mapping,启动加载级别等等,当你的web工程中没用到这些当然也就不需要这个xml文件来配置你的apllication了

1.web.xml配置



springmvc



	org.springframework.web.context.ContextLoaderListener


  
  
    contextConfigLocation  
    classpath:spring.xml  


  
  
    encodingFilter  
    org.springframework.web.filter.CharacterEncodingFilter
      
        encoding  
        UTF-8  
      
  
  
    encodingFilter  
    /*  
  



    springmvc
    org.springframework.web.servlet.DispatcherServlet
    
        
        contextConfigLocation
        classpath:springmvc.xml
    
    
    1  


    springmvc
    /




 	index.html
	index.htm
	 index.jsp
	default.html
	default.htm
	default.jsp


五、JDBC的proerties的配置文档

JDBC是Java DataBaes Connectivity(Java数据库连接)配置上这个让spring调用,这样就不用在代码中实现连接数据库,并且也解耦合,方便后期的维护作用。

1.db.properties配置


driver=com.mysql.jdbc.Driver

url=jdbc:mysql://localhost:3306/db_bdsp?useUnicode=true&characterEncoding=utf8

username=root

password=932430410

#datasouce database pool config

#\u5B9A\u4E49\u521D\u59CB\u8FDE\u63A5\u6570  
initialSize=0  

#\u5B9A\u4E49\u6700\u5927\u8FDE\u63A5\u6570  
maxActive=20  

#\u5B9A\u4E49\u6700\u5927\u7A7A\u95F2  
maxIdle=20  

#\u5B9A\u4E49\u6700\u5C0F\u7A7A\u95F2  
minIdle=1  

#\u5B9A\u4E49\u6700\u957F\u7B49\u5F85\u65F6\u95F4  
maxWait=60000

六、Log4j的配置与概念(耐心看)

他的作用是在记录项目运行的情况,其中一方面:比如在项目有问题的情况下,可以通过查看记录日志的方式,查找到出现的错误并改正。
另外,还有其他的作用:
(1)很明显我们在编写代码的时候有各种需要打印日志的需求,比如:我们调试代码的时候;我们的应用出现了问题,我们分析、定位、解决问题的时候;我们想将某些日志信息作为离线的业务数据分析的时候等等
(2)最简单的打印日志的方式就是使用系统本身的输出语句,不过对于大多数需求这种方式都是不能满足的
(3)于是我们的目光可能会向编写一个专门打印日志信息的工具类转移,不过有人更近了一步,写出了一个日志框架供我们使用
(4)使用日志框架的好处显而易见,方便、自在、功能强大能够满足各种需求,不好的地方也是有的,比如:如果你也进行了试验你会发现,程序变慢了,需要一定的时间和精力作为学习的成本
(5)日志框架都是能控制什么哪?那我们需要打印的日志都能满足什么样的需求哪?通常我们希望一个日志框架能够灵活的做到以下三点:
5-1:能够控制日志信息想往哪里打就往哪里打,比如:控制台、文件、邮箱、数据库等等
5-2:能够控制日志信息想怎么打就怎么打,比如:我想要打印时间、程序的名称、程序的方法名、程序的行号、线程的名称等等
5-3:能够控制日志信息想打什么打什么,不想打的就不打,日志信息是分级别的,有时候我只想看错误的信息或者警告的信息,有时候我想看到所有的信息我想调试程序等等

1.log4j.properties的配置
复杂版本1,网上找的:

#priority  :debug> Method: %l ]%n%p:%m%n
#debug log
log4j.logger.debug=debug
log4j.appender.debug=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.debug.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.debug.File=./src/com/hp/log/debug.log
log4j.appender.debug.Append=true
log4j.appender.debug.Threshold=DEBUG
log4j.appender.debug.layout=org.apache.log4j.PatternLayout 
log4j.appender.debug.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n
#warn log
log4j.logger.warn=warn
log4j.appender.warn=org.apache.log4j.DailyRollingFileAppender 
log4j.appender.warn.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.warn.File=./src/com/hp/log/warn.log
log4j.appender.warn.Append=true
log4j.appender.warn.Threshold=WARN
log4j.appender.warn.layout=org.apache.log4j.PatternLayout 
log4j.appender.warn.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n
#error
log4j.logger.error=error
log4j.appender.error = org.apache.log4j.DailyRollingFileAppender
log4j.appender.error.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.error.File = ./src/com/hp/log/error.log 
log4j.appender.error.Append = true
log4j.appender.error.Threshold = ERROR 
log4j.appender.error.layout = org.apache.log4j.PatternLayout
log4j.appender.error.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss a} [Thread: %t][ Class:%c >> Method: %l ]%n%p:%m%n

自己弄得版本2:

log4j.rootLogger=INFO,Console,File  
#\u5B9A\u4E49\u65E5\u5FD7\u8F93\u51FA\u76EE\u7684\u5730\u4E3A\u63A7\u5236\u53F0  
log4j.appender.Console=org.apache.log4j.ConsoleAppender  
log4j.appender.Console.Target=System.out  
#\u53EF\u4EE5\u7075\u6D3B\u5730\u6307\u5B9A\u65E5\u5FD7\u8F93\u51FA\u683C\u5F0F\uFF0C\u4E0B\u9762\u4E00\u884C\u662F\u6307\u5B9A\u5177\u4F53\u7684\u683C\u5F0F  
log4j.appender.Console.layout = org.apache.log4j.PatternLayout  
log4j.appender.Console.layout.ConversionPattern=[%c] - %m%n  

#\u6587\u4EF6\u5927\u5C0F\u5230\u8FBE\u6307\u5B9A\u5C3A\u5BF8\u7684\u65F6\u5019\u4EA7\u751F\u4E00\u4E2A\u65B0\u7684\u6587\u4EF6  
log4j.appender.File = org.apache.log4j.RollingFileAppender  
#\u6307\u5B9A\u8F93\u51FA\u76EE\u5F55  
log4j.appender.File.File = logs/ssm.log  
#\u5B9A\u4E49\u6587\u4EF6\u6700\u5927\u5927\u5C0F  
log4j.appender.File.MaxFileSize = 10MB  
#\u8F93\u51FA\u6240\u4EE5\u65E5\u5FD7\uFF0C\u5982\u679C\u6362\u6210DEBUG\u8868\u793A\u8F93\u51FADEBUG\u4EE5\u4E0A\u7EA7\u522B\u65E5\u5FD7  
log4j.appender.File.Threshold = ALL  
log4j.appender.File.layout = org.apache.log4j.PatternLayout  
log4j.appender.File.layout.ConversionPattern =[%p] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n

总结

总的来说,自己也花时间去理解框架,写了一些项目,尤其是个人写的项目,他们的框架都带有自己的个性,但是万变不离其宗,把框架的核心配置看懂事做什么的,就学习、写项目就快多了,以上是我对SSM的一个理解,不保证全对理解的,这个框架是我目前使用的一个框架,有错误尽管提,虚心接受,多多指教。

你可能感兴趣的:(SSM框架学习)