SSM框架搭建整合
来源:互联网 发布:联通什么套餐知乎 编辑:程序博客网 时间:2024/05/16 12:17
基于IDEA整合Spring,SpringMVC,Mybatis。
这是一段···(不可描述)的路程
首先附上文件结构图:
主要是三层,Dao层,Service层,Controller层。
由于都是面向接口编程,耦合性更低。
Dao层只有Ixxdao 接口,他的实现是通过Mybatis的map配置文件代理注入的,查看Mybatis配置文件就可以知道。
而Service接口只负责声明服务,serviceImpl则用来实现具体的业务操作。当然注入Dao接口是在serviceImpl中注入的。
然后再在Controller中注入Service接口,注意 这里是注入接口,然后用注解声明具体的实现类
下面附上这几层的代码截图:
整体结构大概就是这样子,下面对配置文件进行说明。
Web.xml
最基础的配置:
1.在web.xml配置监听器ContextLoaderListener
ContextLoaderListener的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了 ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。
2.部署applicationContext的xml文件
如何部署applicationContext的xml文件,如果在web.xml中不写任何参数配置信息,默认的路径是”/WEB-INF /applicationContext.xml,在WEB-INF目录下创建的xml文件的名称必须是applicationContext.xml。 如果是要自定义文件名可以在web.xml里加入contextConfigLocation这个context参数:
定义WebAppliactionContext上下文中的bean
<context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/classes/applicationContext-*.xml </param-value></context-param>
3.定义DispatcherServlet 前段处理器,用于控制
<servlet> <servlet-name>court</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/springmvc.xml</param-value> <!---不配置的话 默认是court-servlet.xml --> </init-param> <load-on-startup>1</load-on-startup></servlet><servlet-mapping> <servlet-name>court</servlet-name> <url-pattern>/</url-pattern></servlet-mapping>
这里的contextConfigLocation (即springMVC的配置文件中)用于配置控制器的参数,比如设置映射页面的前缀后缀等
最基本的web.xml中配置完这三个就算完成了
Springmvc.xml
<mvc:annotation-driven />
首先需要介入这个注解用于自动启动注解功能。
同时会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,是spring MVC为@Controllers分发请求所必须的。
并提供了:数据绑定支持,@NumberFormatannotation支持,@DateTimeFormat支持,@Valid支持,读写XML的支持(JAXB),读写JSON的支持(Jackson)。
然后就是添加自动扫描Controller包
(这里主要配置拦截器,applicationContext中扫描所有包)
以及解析器的前后缀
applicationContext.xml
MyBatisConfig.xml
MyBatis需要配置的内容可以去官网上看例子。
总结:
为什么 pom中
<!-- Spring MVC--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.1.6.RELEASE</version> <!--<scope>provided</scope>--> </dependency>
加了 provided 运行就有问题,当然有问题tomcat本身不提供web包,只有tomcat已包含的包,可以使用provide
要学会根据错误提示自己寻找问题所在,并解决。 错误栈:最下面的是引起错误的起源。 根据错误 Debug 找起不来的原因,如果是ClassNotFind就在pom中导入相应的包
很重要的一点:经常访问资源文件,访问不到 很头疼!!!
路径访问:maven 打包时,默认只会把resource文件夹下的资源文件打进去的,classes是编译后的文件,所以我们可以把配置文件都放在resource下, 到时候用classpath 就能访问到。能不能访问,看target/classes中有没有 就知道了
Test 是用来测试已编译的代码的,就是classes里面所有的资源
target中, classes是你的工程编译后的类,里面没有第三方包
spring是 spring.war 的解压缩后的包,里面含有第三方包,当然也有个classes
当然如果需要把其他位置的资源放到classes中,需要另外配置。最好就是 WEN-INF下就放 web.xml 其余的都放resource中
整个工程代码:github
- SSM框架搭建整合
- 01、SSM框架整合搭建
- SSM整合(1.框架搭建)
- 史上最全SSM框架整合(二)-----SSM框架实践搭建
- 整合Spring SpringMvc Mybatis,搭建SSM框架
- ssm框架整合 理解及搭建
- SSM框架搭建项目整合学习笔记
- ssm框架的搭建和整合
- SSM:简单SSM框架整合
- SSM第一篇 最简单的SSM框架搭建过程--SSM简单整合
- 基于maven搭建ssm开发框架(1) Service层整合
- SSM框架搭建详细过程,springmvc、spring、mybatis整合
- idea在搭建ssm框架时mybatis整合问题
- idea中搭建基于maven的ssm整合框架
- 五、maven项目搭建 ssm框架之spring整合redis
- 【java】SSM框架搭建(二)——项目整合
- 在celipse上搭建ssm框架,并整合freemarker
- SSM整合搭建
- 使用Mycat操作Oracle数据库(七) -- JAVA代码JDBC连接Mycat
- 《挑战程序设计竞赛》阅读笔记四
- [Leetcode] 229. Majority Element II 解题报告
- 学习笔记单例模式
- 草根站长心酸路:你的网站后来怎么样了?
- SSM框架搭建整合
- CentOS下ELK开机自启动的配置
- 设计模式之桥接模式
- Linux系统下硬盘分区随笔
- 【Qt5】QTimer定时器
- ..经典FormsAuthenticationTicket 分析
- 你会选取去北上广大城市做码农?
- 对象存储之一:初探
- Sorted Union