当前位置: 首页 > news >正文

域名回收网站个人网站备案转公司备案

域名回收网站,个人网站备案转公司备案,站长工具seo综合查询怎么使用的,潍坊大型网站建设平台SSM框架详解#xff1a;Java企业级开发的核心基石 SSM框架是Java企业级开发中最流行的框架组合#xff0c;由Spring、Spring MVC和MyBatis三大框架整合而成。这个轻量级的框架组合为Java开发者提供了高效、灵活的企业级应用解决方案。 一、SSM框架组成解析 1. Spring框架 …SSM框架详解Java企业级开发的核心基石 SSM框架是Java企业级开发中最流行的框架组合由Spring、Spring MVC和MyBatis三大框架整合而成。这个轻量级的框架组合为Java开发者提供了高效、灵活的企业级应用解决方案。 一、SSM框架组成解析 1. Spring框架 核心定位Java应用的基础设施框架 核心特性 控制反转(IoC)对象创建和依赖关系的控制权交给Spring容器 // 传统方式 UserService userService new UserServiceImpl();// Spring IoC方式 Autowired private UserService userService;面向切面编程(AOP)解耦横切关注点如日志、事务 Aspect Component public class LoggingAspect {Before(execution(* com.example.service.*.*(..)))public void logBefore(JoinPoint joinPoint) {System.out.println(方法执行前: joinPoint.getSignature().getName());} }2. Spring MVC框架 核心定位Web层MVC框架 核心组件 DispatcherServlet前端控制器统一处理请求Controller处理业务逻辑ViewResolver视图解析器Model数据模型载体 请求处理流程 #mermaid-svg-PST5Rq3Jg1Zupca5 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-PST5Rq3Jg1Zupca5 .error-icon{fill:#552222;}#mermaid-svg-PST5Rq3Jg1Zupca5 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-PST5Rq3Jg1Zupca5 .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-PST5Rq3Jg1Zupca5 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-PST5Rq3Jg1Zupca5 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-PST5Rq3Jg1Zupca5 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-PST5Rq3Jg1Zupca5 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-PST5Rq3Jg1Zupca5 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-PST5Rq3Jg1Zupca5 .marker.cross{stroke:#333333;}#mermaid-svg-PST5Rq3Jg1Zupca5 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-PST5Rq3Jg1Zupca5 .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-PST5Rq3Jg1Zupca5 text.actortspan{fill:black;stroke:none;}#mermaid-svg-PST5Rq3Jg1Zupca5 .actor-line{stroke:grey;}#mermaid-svg-PST5Rq3Jg1Zupca5 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-PST5Rq3Jg1Zupca5 .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-PST5Rq3Jg1Zupca5 #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-PST5Rq3Jg1Zupca5 .sequenceNumber{fill:white;}#mermaid-svg-PST5Rq3Jg1Zupca5 #sequencenumber{fill:#333;}#mermaid-svg-PST5Rq3Jg1Zupca5 #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-PST5Rq3Jg1Zupca5 .messageText{fill:#333;stroke:#333;}#mermaid-svg-PST5Rq3Jg1Zupca5 .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-PST5Rq3Jg1Zupca5 .labelText,#mermaid-svg-PST5Rq3Jg1Zupca5 .labelTexttspan{fill:black;stroke:none;}#mermaid-svg-PST5Rq3Jg1Zupca5 .loopText,#mermaid-svg-PST5Rq3Jg1Zupca5 .loopTexttspan{fill:black;stroke:none;}#mermaid-svg-PST5Rq3Jg1Zupca5 .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-PST5Rq3Jg1Zupca5 .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-PST5Rq3Jg1Zupca5 .noteText,#mermaid-svg-PST5Rq3Jg1Zupca5 .noteTexttspan{fill:black;stroke:none;}#mermaid-svg-PST5Rq3Jg1Zupca5 .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-PST5Rq3Jg1Zupca5 .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-PST5Rq3Jg1Zupca5 .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-PST5Rq3Jg1Zupca5 .actorPopupMenu{position:absolute;}#mermaid-svg-PST5Rq3Jg1Zupca5 .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-PST5Rq3Jg1Zupca5 .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-PST5Rq3Jg1Zupca5 .actor-man circle,#mermaid-svg-PST5Rq3Jg1Zupca5 line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-PST5Rq3Jg1Zupca5 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 客户端 DispatcherServlet HandlerMapping HandlerAdapter Controller Service DAO ViewResolver HTTP请求 查找处理器 返回处理器链 调用处理器 执行控制器 调用业务逻辑 数据访问 返回数据 返回结果 返回ModelAndView 返回结果 解析视图 返回视图 渲染视图响应 客户端 DispatcherServlet HandlerMapping HandlerAdapter Controller Service DAO ViewResolver 3. MyBatis框架 核心定位持久层ORM框架 核心特性 SQL与代码分离XML/注解方式管理SQL动态SQL灵活构建复杂查询 select idfindUsers resultTypeUserSELECT * FROM userswhereif testname ! nullAND name #{name}/ifif testemail ! nullAND email #{email}/if/where /select结果集自动映射数据库记录↔Java对象自动转换 二、SSM框架整合架构 #mermaid-svg-rPFNkP57USiBf9LR {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-rPFNkP57USiBf9LR .error-icon{fill:#552222;}#mermaid-svg-rPFNkP57USiBf9LR .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-rPFNkP57USiBf9LR .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-rPFNkP57USiBf9LR .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-rPFNkP57USiBf9LR .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-rPFNkP57USiBf9LR .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-rPFNkP57USiBf9LR .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-rPFNkP57USiBf9LR .marker{fill:#333333;stroke:#333333;}#mermaid-svg-rPFNkP57USiBf9LR .marker.cross{stroke:#333333;}#mermaid-svg-rPFNkP57USiBf9LR svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-rPFNkP57USiBf9LR .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-rPFNkP57USiBf9LR .cluster-label text{fill:#333;}#mermaid-svg-rPFNkP57USiBf9LR .cluster-label span{color:#333;}#mermaid-svg-rPFNkP57USiBf9LR .label text,#mermaid-svg-rPFNkP57USiBf9LR span{fill:#333;color:#333;}#mermaid-svg-rPFNkP57USiBf9LR .node rect,#mermaid-svg-rPFNkP57USiBf9LR .node circle,#mermaid-svg-rPFNkP57USiBf9LR .node ellipse,#mermaid-svg-rPFNkP57USiBf9LR .node polygon,#mermaid-svg-rPFNkP57USiBf9LR .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-rPFNkP57USiBf9LR .node .label{text-align:center;}#mermaid-svg-rPFNkP57USiBf9LR .node.clickable{cursor:pointer;}#mermaid-svg-rPFNkP57USiBf9LR .arrowheadPath{fill:#333333;}#mermaid-svg-rPFNkP57USiBf9LR .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-rPFNkP57USiBf9LR .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-rPFNkP57USiBf9LR .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-rPFNkP57USiBf9LR .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-rPFNkP57USiBf9LR .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-rPFNkP57USiBf9LR .cluster text{fill:#333;}#mermaid-svg-rPFNkP57USiBf9LR .cluster span{color:#333;}#mermaid-svg-rPFNkP57USiBf9LR div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-rPFNkP57USiBf9LR :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 客户端 Spring MVC Controller Service业务层 MyBatis持久层 数据库 Spring容器 Spring AOP 请求入口Spring MVC的DispatcherServlet业务处理 Controller接收请求参数Service层处理业务逻辑 数据持久化 MyBatis执行SQL操作返回数据到Service层 响应返回 Controller返回ModelAndView视图渲染返回客户端 三、SSM框架核心优势 1. 分层解耦设计 表示层Spring MVC业务层Spring持久层MyBatis各层通过接口通信降低耦合度 2. 配置简化 Spring注解驱动Controller, Service, RepositoryMyBatis-Spring整合SqlSessionTemplate简化数据库操作bean idsqlSessionFactory classorg.mybatis.spring.SqlSessionFactoryBeanproperty namedataSource refdataSource/property namemapperLocations valueclasspath:mappers/*.xml/ /beanbean classorg.mybatis.spring.mapper.MapperScannerConfigurerproperty namebasePackage valuecom.example.dao/ /bean3. 事务管理 声明式事务通过注解管理事务边界Service public class UserServiceImpl implements UserService {Transactional(propagation Propagation.REQUIRED)public void createUser(User user) {// 数据库操作} }4. 灵活扩展 插件机制MyBatis插件、Spring AOP集成能力轻松整合Redis、RabbitMQ等其他框架 四、SSM vs SSH 框架对比 特性SSM框架SSH框架核心组件Spring Spring MVC MyBatisSpring Struts Hibernate持久层MyBatisSQL可控Hibernate全自动ORM性能较高直接控制SQL较低HQL转换开销学习曲线中等较陡峭灵活性高SQL可优化中受Hibernate限制适用场景高性能要求、复杂SQL项目快速开发、简单CRUD项目 五、典型SSM项目结构 src/main/java ├── com.example │ ├── controller # Spring MVC控制器 │ ├── service # 业务服务接口 │ │ └── impl # 业务服务实现 │ ├── dao # 数据访问接口 │ ├── entity # 实体类 │ └── config # 配置类 src/main/resources ├── spring # Spring配置 │ ├── spring-mvc.xml │ ├── spring-mybatis.xml │ └── spring-service.xml ├── mapper # MyBatis映射文件 ├── jdbc.properties # 数据库配置 └── log4j2.xml # 日志配置六、SSM整合关键配置 1. web.xml配置 !-- Spring上下文加载 -- context-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:spring/spring-*.xml/param-value /context-param!-- Spring MVC前端控制器 -- servletservlet-namedispatcher/servlet-nameservlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-classinit-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:spring/spring-mvc.xml/param-value/init-param /servlet2. Spring与MyBatis整合 bean iddataSource classcom.alibaba.druid.pool.DruidDataSourceproperty nameurl value${jdbc.url}/property nameusername value${jdbc.username}/property namepassword value${jdbc.password}/ /beanbean idsqlSessionFactory classorg.mybatis.spring.SqlSessionFactoryBeanproperty namedataSource refdataSource/property namemapperLocations valueclasspath:mapper/*.xml/ /beanbean classorg.mybatis.spring.mapper.MapperScannerConfigurerproperty namebasePackage valuecom.example.dao/ /bean3. 事务管理配置 bean idtransactionManager classorg.springframework.jdbc.datasource.DataSourceTransactionManagerproperty namedataSource refdataSource/ /beantx:annotation-driven transaction-managertransactionManager/七、SSM框架最佳实践 分层规范 Controller只处理请求转发和参数处理Service层实现核心业务逻辑DAO层只做数据访问操作 SQL优化 使用MyBatis动态SQL避免拼接复杂查询使用sql片段复用N1查询问题使用关联查询解决 事务控制 在Service层使用Transactional设置合适的事务隔离级别和传播行为避免在事务中进行远程调用 性能优化 使用连接池Druid/HikariCP启用MyBatis二级缓存批量操作使用ExecutorType.BATCH 安全防护 SQL注入防护使用#{}占位符XSS防护在Controller层进行输入过滤CSRF防护启用Spring Security的CSRF保护 八、SSM框架演进趋势 随着技术发展SSM框架正在向以下方向演进 Spring Boot整合 SpringBootApplication MapperScan(com.example.dao) public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);} }MyBatis-Plus增强 通用CRUD操作强大的条件构造器代码生成器 微服务转型 Spring Cloud整合服务拆分分布式事务 响应式编程 Spring WebFlux替代Spring MVC响应式数据访问 总结 SSM框架作为Java企业级开发的经典组合通过 Spring 实现业务组件的管理和解耦Spring MVC 处理Web层请求响应MyBatis 完成高效的数据持久化 三者协同工作形成了高度可扩展、易维护的分层架构。虽然现在Spring Boot已简化了配置但理解SSM框架的核心原理仍然是Java开发者的必备基础。掌握SSM框架不仅能够应对传统企业级项目开发也为学习Spring Boot和微服务架构打下坚实基础。
http://www.zqtcl.cn/news/486661/

相关文章:

  • 注册网站域名需要什么湘潭公司做网站
  • 一个网站如何优化企业资质查询平台
  • 模板网站为什么做不了优化山西网络网站建设销售公司
  • 建设什么网站可以赚钱设计本网站是用什么做的
  • 荆州市网站建设策划师
  • 苏州中国建设银行招聘信息网站中国企业登记网
  • 网站服务器的重要性新闻软文范例大全
  • 茶叶网站建设一般的风格加大志愿服务网站建设
  • 湖州医院网站建设方案网页游戏知乎
  • 以网站建设为开题报告临海门户网站住房和城乡建设规划局
  • 河南省大型项目建设办公室网站wordpress置顶功能
  • 奉化网站建设三合一网站建设多少钱
  • wordpress文章页怎么调用网站图片wordpress菜单锚点定位
  • 网站建设运营合作合同网站建设英文合同
  • wordpress chrome插件开发图片式网站利于做优化吗
  • 如何做好品牌网站建设策划app要有网站做基础
  • 横沥网站建设公司wordpress运行php
  • 南皮网站建设价格网络推广这个工作好做吗
  • 长安大学门户网站是谁给做的网站排名logo怎么做
  • 襄樊做网站做网站做网站
  • 百度做网站续费费用网站开发的可行性
  • 电子商务网站建设效益分析如何才能做好品牌网站建设策划
  • 能打开各种网站的浏览器app文章目录wordpress
  • 网站注册页面html中国建设招标网网站
  • 云南网站设计海外直购网站建设方案书范文
  • 网站视频小程序商城多少钱
  • 美耐皿 技术支持 东莞网站建设如何将网站指向404
  • 如何做网站的维护和推广wordpress首页在哪里修改
  • 网站建设公司在哪里宣传网站群系统建设的目的
  • 建立网站的教学书籍最新网站建设哪家公司好