SSM项目创建步骤(随手记)
一、mybatis项目创建
1:创建maven项目
2:导入pom坐标
3:resources下创建SqlMapConfig.xml配置文件(主配置文件,配置数据库信息,映射配置文件等)
4:创建包及dao接口
5:在resources下创建和dao相同的包及dao同名配置文件(映射配置文件,写sql)
注:如果使用注解不用创建映射配置文件。
二、spring项目创建
1:创建maven项目
2:导入pom坐标
3:resources下创建application.xml配置文件
4:创建dao及service
aop配置
'先将通知类注入spring容器,然后使用aop标签配置即可'
<bean id="log" class="sun.utils.Logger"></bean>
<!--配置aop--> <aop:config> <!--配置切入点表达式--> <aop:pointcut id="aspect_method" expression="execution(* service.Impl.AccountServiceImpl.save())"></aop:pointcut> <!--配置aop切面--> <aop:aspect id="logAdvice" ref="log"> <!--配置通知类型,并建立通知方法和切入点方法的关联--> <!--配置前置通知 在切入点方法执行之前执行--> <aop:before method="beforeAdvice" pointcut-ref="aspect_method"></aop:before> <!--配置后置通知 在切入点方法执行之后且不发生异常执行--> <aop:after-returning method="afterReturnAdvice" pointcut-ref="aspect_method"></aop:after-returning> <!--配置异常通知 在切入点方法发生异常时执行,此时不会执行异常通知--> <aop:after-throwing method="afterThrowsAdvice" pointcut-ref="aspect_method"></aop:after-throwing> <!--配置最终通知 不管切入点方法是否发生异常都会执行--> <aop:after method="afterAdvice" pointcut-ref="aspect_method"></aop:after> <!--配置环绕通知--> <aop:around method="aroundLog" pointcut-ref="aspect_method"></aop:around> </aop:aspect> </aop:config>
声明式事务配置
参考:https://www.cnblogs.com/sun-10387834/p/14081243.html
三、springmvc项目创建
1:创建maven项目(web项目)
2:导入pom坐标
3:创建springmvc.xml配置文件
4:在WEB-INF下的web.xml中创建前端控制器
5:创建controller包及controller类,及方法
6:在springmvc.xml中配置视图解析器
7:在springmvc.xml开启springmvc注解支持
springmvc入门案例分析
1. 启动服务器
* DispatchServlet对象创建
* springmvc.xml被加载
* xxxController类被创建成对象
2. 发送请求,后台处理请求
* 页面链接发送请求
* 请求经过servlet(前端控制器)
* 根据请求路径通过处理器映射器让控制器中的指定方法执行
3.响应请求
* 创建ModelAndView对象,添加键值对
* 设置viewName属性,指定跳转页面,并将键值对携带过去
原理图:
异常处理:
1、自定义异常类
2、自定义异常处理类
3、配置异常类
拦截器:
1、自定义拦截器
2、配置拦截器
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2019-01-29 基于tcp的套接字编程
2019-01-29 python输出彩色字体
2019-01-29 python内置方法大全