建立一个SSM-Maven项目——整合SSM

这是一个java初学者在独立开发一个项目时做的笔记,很多内容仅仅是为了解决当前需求,并未很深入的研究。

这是一个使用spring ,springMVC,Mybetis框架的项目。对于JAVA,Maven等安装和配置不在记录范围

因为对于spring,springMVC,Mybetis相对比较熟悉,因此在开发此项目的时候,首选自然是ssm框架。

相对于以往的项目唯一基础改动就是数据库由Oracle改为了MySql,在Mysql下,c3p0的连接池会导致tomcat报内存溢出错误,用了半个月试图解决无果,更换成dbcp后一切正常。

之前已经建立了一个Maven项目,下面我们把这个项目和SMM整合起来。

这是项目结构:

建立一个SSM-Maven项目——整合SSM_第1张图片

 

1、首先我们需要确定你的lib里面已经拥有jar包。

2、然后在src/main/resources里面建立jdbc.properties 、log4j.properties、  spring-mvc.xml 、 spring-mybatis.xml  共4个文件。

  什么是properties文件:java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是"键=值"的格式,在properties文件中,可以用"#"来作注释

  properties会出现中文乱码的情况,我们在eclipse里打开 Window >Preferences>General >Context Types>Text>Java Properties File 里选中*.properties 把Default encoding 改成GBK点击update即可。

建立一个SSM-Maven项目——整合SSM_第2张图片

  接下来,我们先配置jdbc.properties:

 1 driver=com.mysql.jdbc.Driver
 2 url=jdbc:mysql://dbinstance.cm9i1t5ndph3.us-west-2.rds.amazonaws.com:3306/Insurrance
 3 username=root
 4 password=tiger123
 5 #初始化连接大小
 6 initialSize=0
 7 #连接池最大数量
 8 maxActive=20
 9 #连接池最大空闲
10 maxIdle=20
11 #连接池最小空闲
12 minIdle=1
13 #获取连接最大等待时间
14 maxWait=60000
jdbc

 

  然后配置log4.properties:

 1 ### 设置###
 2 log4j.rootLogger = info,stdout,D,I,E
 3 
 4 ### 输出信息到控制抬 ###
 5 log4j.appender.stdout = org.apache.log4j.ConsoleAppender
 6 log4j.appender.stdout.Target = System.out
 7 log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
 8 log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
 9 
10 #日志编码  
11 #log4j.appender.D.Encoding=UTF-8  
12 
13 #定义的时间格式,如果时间定义到分钟(mm)就是每分钟生成一个日志文件,而这里定义的这个格式就是日志名后缀 
14 log4j.appender.D.DatePattern='_' yyyy-MM-dd
15 log4j.appender.I.DatePattern='_' yyyy-MM-dd 
16 log4j.appender.E.DatePattern='_' yyyy-MM-dd 
17     
18 ### 输出DEBUG  ###
19 #每一天产生1个日志文件 
20 log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
21 #定义日志存放路径  
22 log4j.appender.D.File = /usr/local/apache-tomcat-7.0.76/webapps/Insurrance/logs/log.log
23 #日志文件是否追加  
24 log4j.appender.D.Append = true
25 #日志输出级别  
26 log4j.appender.D.Threshold = DEBUG 
27 #日志中输出的日志的格式  
28 log4j.appender.D.layout = org.apache.log4j.PatternLayout
29 #定义的日志格式
30 log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
31 
32 ### 输出info  ###
33 log4j.appender.I = org.apache.log4j.DailyRollingFileAppender  
34 log4j.appender.I.File = /usr/local/apache-tomcat-7.0.76/webapps/Insurrance/logs/log.log
35 log4j.appender.I.Append = true
36 log4j.appender.I.Threshold = INFO 
37 log4j.appender.I.layout = org.apache.log4j.PatternLayout
38 log4j.appender.I.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
39 ### 输出ERROR  ###
40 log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
41 log4j.appender.E.File =/usr/local/apache-tomcat-7.0.76/webapps/Insurrance/logs/error.log 
42 log4j.appender.E.Append = true
43 log4j.appender.E.Threshold = ERROR 
44 log4j.appender.E.layout = org.apache.log4j.PatternLayout
45 log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
log4j

  log4j,对于做服务器端开发来说很关键,后面会单独为这一块做一篇笔记。

  然后是spring-mybatis.xml

  1 
  2   3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
  4     xmlns:context="http://www.springframework.org/schema/context"
  5     xmlns:mvc="http://www.springframework.org/schema/mvc"
  6     xsi:schemaLocation="http://www.springframework.org/schema/beans  
  7                         http://www.springframework.org/schema/beans/spring-beans-4.0.xsd  
  8                         http://www.springframework.org/schema/context  
  9                         http://www.springframework.org/schema/context/spring-context-4.0.xsd  
 10                         http://www.springframework.org/schema/mvc  
 11                         http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
 12     
 13     package="com.ic" />
 14 
 15     
 16     class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">   
 17              
 18                
 19                classpath:jdbc.properties 
 20                classpath:email.properties  
 21                  
 22               
 23         
 24        
 25     
 26 
 27     class="org.apache.commons.dbcp.BasicDataSource"
 28         destroy-method="close">
 29         
 30         
 31         
 32         
 33         
 34         
 35         
 36         
 37         
 38         
 39         
 40         
 41         
 42         
 43     
 44 
 45     
 46     class="org.mybatis.spring.SqlSessionFactoryBean">
 47         
 48         
 49         
 50     
 51 
 52     
 53     class="org.mybatis.spring.mapper.MapperScannerConfigurer">
 54         
 55         
 56     
 57 
 58     
 59      60         class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
 61         
 62     
 63     
 64     
 65      66         class="org.springframework.mail.javamail.JavaMailSenderImpl">
 67         
 68         
 69         
 70 
 71         
 72         
 73         
 74 
 75        
 76         
 77             
 78                  smtp
 79                  true
 80                  true
 81              
 82         
 83     
 84     
 85     
 86     class="org.springframework.mail.SimpleMailMessage">
 87         
 88         
 89         
 90         
 91       
 92        
 93     
 94     
 95     class="org.springframework.web.multipart.commons.CommonsMultipartResolver">    
 96           
 97           
 98            
 99             
100       
101 
spring-mybatis.xml

  里面的上传和email功能如果不需要可以给他删除

  还有spring-mvc.xml

 1 
 2  3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
 4     xmlns:context="http://www.springframework.org/schema/context"
 5     xmlns:mvc="http://www.springframework.org/schema/mvc"
 6     xsi:schemaLocation="http://www.springframework.org/schema/beans  
 7                             http://www.springframework.org/schema/beans/spring-beans.xsd  
 8                             http://www.springframework.org/schema/context  
 9                             http://www.springframework.org/schema/context/spring-context.xsd  
10                             http://www.springframework.org/schema/mvc  
11                             http://www.springframework.org/schema/mvc/spring-mvc.xsd">
12                     
13     
14     package="com.ic.controller" />
15 
16     
17     
18     
19 
20     default-servlet-handler />
21 
22 
23     
24     <bean
25         class="org.springframework.web.servlet.view.InternalResourceViewResolver">
26         
27         
28         
29      
30               
31                             
32 
spring-mvc

 

  

   对比于很多人更喜欢把spring-mybatis细分成applicationContext-dao,applicationContext-service,applicationContext-transaction。因为学习的比较浅,只能从感觉上来说,细分成applicationContext更符合规范也更加清楚。

 

  最后,我们需要配置一下我们web.xml

 1 
 2  3     xmlns="http://java.sun.com/xml/ns/javaee"
 4     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
 5     version="3.0">
 6     Ic-SSM
 7     
 8     
 9     
10         contextConfigLocation
11         classpath:spring-mybatis.xml
12     
13     
14     
15     
16         encodingFilter
17         class>org.springframework.web.filter.CharacterEncodingFilterclass>
18         true
19         
20             encoding
21             UTF-8
22         
23     
24     
25         encodingFilter
26         /*
27     
28     
29     
30      
31         log4jConfigLocation 
32         classpath:log4.properties 
33      
34     
35      
36         log4jRefreshInterval 
37         10000 
38      
39      
40      
41         org.springframework.web.util.Log4jConfigListener 
42     
43     
44     
45     
46         org.springframework.web.context.ContextLoaderListener
47     
48     
49     
50     
51         org.springframework.web.util.IntrospectorCleanupListener
52     
53     
54     
55     
56         Ic-SSM
57         org.springframework.web.servlet.DispatcherServlet
58         
59             contextConfigLocation
60             classpath:spring-mvc.xml
61         
62         1
63         true
64     
65     
66         Ic-SSM
67         /
68     
69     
70     
71         /jsp.admin.Admin.jsp
72         /index.jsp
73     
74 
web.xml

 

  因为这个笔记是项目中期开始记录的,所以顺手附上email.properties

#gmail email
email.host=smtp.gmail.com
email.port=587
email.username=username
email.password=password
email

  使用email功能还需要你在邮箱内部开启第三方授权,每个邮箱的方式不同,自行google

  到这里,ssm项目的基本框架就已经完成了

  

 

转载于:https://www.cnblogs.com/jc79/p/6944435.html

你可能感兴趣的:(建立一个SSM-Maven项目——整合SSM)