struts2+spring+mybatis框架整合详细介绍
⼀、问题的提出
最近⼀直在看各种主流javaweb框架,感触颇深,⼀个好的框架可以让你的程序代码变得相当的明了,也便于后期的维护!⽬前⽤到的主流框架包括struts2+spring+mybatis和spring+springmvc+mybatis(注:个⼈觉得mybatis框架很好⽤,所以框架基本都会选择⽤mybatis)。其实很多的⼩伙伴都想⾃⼰配置个框架,但是基于怕报错啊、引⼊jar包、程序调试啊等等问题都放弃了!基于这个现象,本⼈在这⾥就详细的介绍下本⼈配置框架的详细过程,希望对读者有所帮助。
⼆、引⼊jar包
这个问题⼀直是想搭建框架的⼩伙伴们的最⼤的⼀个障碍!很多⼈就是由于不知道导⼊什么样的jar⽽犯愁!对于这个问题我个⼈的想法是,jar包都是向下兼容的所以你⼤可不⽤担⼼你的jar包版本不对的问题,尽可能下载版本靠后的jar包就能解决这个问题。其次是不知道要导⼊多少个jar包,这确实是个棘⼿的问题,对于这个问题我的解决⽅案是:⾸选是在⽹上查,这⽅⾯的资料⽹上还是很全⾯的 什么jar都可以下载 ,其次是注意struts2 以及spring 等的官⽹,官⽹上也会有详细的介绍每个jar的功能。这⾥我就不在详细的描述了。下⾯是我这个框架搭建需要的jar包截图,如果有需要jar包的可私下联系我,⼤家共同学习。
s
三、配置框架
1、⾸先让⼤家看看我配置完后的框架图,再来讲述我配置的流程
2、配置流程
2.1、⾸先任何⼀个系统都需要有其对应的数据库,这⾥我⽤的是mysql数据库,⾸先在数据库⾥新建个数据库,注意数据库的字符
集最好选为utf-8的这样能防⽌数据库中⽂字符乱码。由于我只是配置框架,所以我新建数据库名为wayneTest数据库⾥也只建了⼀张表,如下图:
2.2、建好数据库后,我⽤了个⼯具Mybatis Generator⾃动⽣成model类,dao,mapper⽂件.这个⼯具的详细的⽤法⽹上也很多,如果读者不懂得话也可以私下联系我
2.3、把这些⽣成好的代码放到项⽬下,接下来就是配置⽂件的书写了,我分为以下⼏步:
2.3.1、书写jdbc.properties配置⽂件,为什么⾸先书写这个配置⽂件呢?因为项⽬肯定是要连接数据库的,接下来的spring的配置⽂件也会⽤到这个配置⽂件
其中?characterEncoding=UTF-8这段代码是为了确保编码的⼀致性(注意代码中的”?“⼀定不能少。这个原因相信⼤家都懂得,不懂私下我)这⼀段代码相信⼤家都能看懂,就是配置数据库连接访问的路径和⽤户名及密码。
2.3.2、书写log4j.properties配置⽂件,为什么接下来书写这个⽂件呢?因为这个⽂件是由于打印控制台信息以及保存项⽬运⾏⽇志的配置⽂件,虽说与框架没什么关系,但是还是很需要配置的,应为他可以起到查看程序运⾏⽇志啊打印程序执⾏sql等功能,⽅便调试和维护。(个⼈强烈建议任何项⽬都配上这个⽇志⽂件)
[html]
01. db.driver =com .mysql.jdbc.Driver
[html]
01. db.url =jdbc :mysql://127.0.0.1:3306/wayneTest?<span style ="color:#ff6666;">characterEncoding =UTF -8</span>
[html]
01. db.username =root
[html]
01. db.password =wayne [html]
01. # Create names for settings 02. Category =INFO , fileOut,stdout 03. log4j.appender.fileOut =org .apache.log4j.RollingFileAppender 04. log4j.appender.fileOut.File =${}/WEB-INF/logs/igp_error.log 05. log4j.appender.dataerr =org .apache.log4j.ConsoleAppender 06. log4j.appender.fileOut.MaxFileSize =2000KB 07. log4j.appender.fileOut.MaxBackupIndex =2 08. log4j.appender.fileOut.layout =org .apache.log4j.PatternLayout 09. log4j.appender.fileOut.layout.ConversionPattern =%-2d{yyyy-MM-dd HH:mm} [%t] %5p %c:%L - %m%n 10. log4j.appender.fileOut.Threshold =INFO 11. #log4j.logger.ibatis =DEBUG 12. #log4j.logger.ibatismon.jdbc.SimpleDataSource
mysql的jar包下载=DEBUG 13. #log4j.logger.ibatismon.jdbc.ScriptRunner =DEBUG 14. #log4j.logger.ine.impl.SqlMapClientDelegate =DEBUG 15. log4j.logger.java.sql.Connection =DEBUG 16. #log4j.logger.java.sql.Statement =DEBUG 17. #log4j.logger.java.sql.PreparedStatement =DEBUG 18. #log4j.logger.java.sql.ResultSet =DEBUG 19. log4j.appender.stdout =org .apache.log4j.ConsoleAppender 20. log4j.appender.stdout.layout =org .apache.log4j.PatternLayout 21. log4j.appender.stdout.layout.ConversionPattern =[%d] [%-5p] %c %n--%m--%n
[html]
01. 这⾥是这个配置⽂件的详细配置,其中 <span style ="font-family: Arial, Helvetica, sans-serif;">log4j.logger.java.sql.Connection =DEBUG 这⼀句是打印程序执⾏的sql 语句的(个⼈认为很有必要配出来),关于这些配置⽂件的意义,我给⼤家推荐链接 </span><span style ="font-family: Arial, Helvetica, sans-
serif;">blog.csdn/weiluo12/article/details/8185662</span>
01. <span ></span><pre name="code"class="html"><?xml version="1.0"encoding="UTF-8"?>
02. <!DOCTYPE configuration PUBLIC "-////DTD Config 3.0//EN" "/dtd/mybatis-3-
config.dtd">
03. <configuration>
04. <!--
05. <typeAliases>
06. <typeAlias alias="user"type="del.User"/>
07. </typeAliases>
08.
09. <mappers>
10. <mapper resource="wayne/l"/>
11. </mappers>
12.
13. -->
14. </configuration>
[html]
01. 2.3.4、书写l配置⽂件,这个⽂件很重要,相当重要,下⾯我给出这部分的代码,我会详细
介绍这部分内容
74.
在上⾯的这个配置⽂件⾥每⼀步我都详细的注明了它的⽤途,每⼀步都必不可少!如果还有没看懂的地⽅,私下我共同探讨;到了这⾥的话spring已经整合完mybatis <package name="json" namespace="/" extends="struts-default"> <action name="login" method="login"class="wayne.action.UserAction"> <result name="success">main.jsp</result> <!-- 当页⾯表单填写不合法时,这⾥⼀定要加上下⾯这句 例如页⾯上input输⼊框有name=“id”的那种--> <!-- <result name="input">error.jsp</result> --> <result name="error">error.jsp</result> </action> </package> </struts>
[html]
01. 2.3.5、书写l 配置⽂件,struts 配置⽂件主要⽤于和前台交互,其本质是个过滤器,下⾯我给出这部分的代码 [html]
01. <pre name ="code" class ="html"><?xml version ="1.0" encoding ="UTF-8" ?> 02.
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "/dtds/struts-2.1.dtd"> 03. <struts> 04. <constant name ="ding" value ="UTF-8" />
[html]
01. <pre name ="code" class ="html"> <!-- 这⾥的namespace 空间名,由于我只是做个简单的登陆页⾯所以⽤缺省“/”代替,如果项⽬⽐较庞⼤的话可以通过不同的命名空间来区分-->
[html]
01. <pre name ="code" class ="html">2.3.6、书写l 配置⽂件,这个⽂件很重要,下⾯我给出这部分的代码,我会详细介绍这部分内容
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论