热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SSM框架学习笔记(一):框架区分、idea无法找到xml文件、容器关系、配置文件

Spring框架Spring:是一个开源框架,起初是为解决企业应用开发的复杂性而创建的,但是现在已经不止企业级应用开发,Spring的核心就是提供了一个轻量级的控制反转和面向切面编
Spring框架

Spring :是一个开源框架,起初是为解决企业应用开发的复杂性而创建的,但是现在已经不止
企业级应用开发,Spring的核心就是提供了一个轻量级的控制反转和面向切面编程。
SPring MVC:可以理解为Spring和MVC结合的一种开发结构,MVC是一种将数据业务,显示逻辑,
和控制逻辑进行分层的设计模式,业内常见的MVC开发框架有Struts1和Struts2等、、
Spring MVC是用于web开发的通用框架
Spring Boot:是用来简化Spring框架应用初始化搭建以及开发的全新框架,比如自动化配置省去
了大量的繁琐配置文件,因此SpringBoot可以理解为,一个通过简化配置文件来服务于
框架的框架。
- 创建独立的Spring程序,简化maven配置,快速构建Spring项目。
- 一个简单的SpringBoot工程是不需要在pom里面手动添加配。
- 在SpringBoot创建时,会自动创建BootdemoApplication启动类。代表着本工程项目和
服务的启动加载,在SpringBoot中嵌入有tomcat服务器,无需手动部署war文件
Mybatis:基于java的持久层框架
Spring Cloud:是分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的集合体,
俗称微服务栈解决方案。

SpringBoot与SpringCloud之间的关系:
SpringCloud偏向宏观,SpringBoot偏向微观,如果将SpringBoot比作医院里的一个个科室
那么SpringCloud则是将SpringBoot组合起来的综合医院。
SpringBoot可以单独使用,不依赖与SpringCloud,而SpringCloud必然依赖与SpringBoot。
SpringBoot专注于快速开发单个个体的微服务,而SpringCloud是关注全局的微服务协调整
理治理框架,他将SpringBoot开发的单个个体集合管理,为各个微服务之间提供配置管理,服务
发现,断路器,路由,微代理,事件总线,全局锁,决策竞选,分布式会话等等集成服务

spring容器与springmvc容器

为什么要在web.xml里面建立监听器?
-- listener告诉容器,启动的时候建立spring容器,并加载我们在context—param
中配置的contextConfigLocaltion中对应的配置文件的bean。
一定要配置么?如果不配置,springMVC容器中的bean使用spring容器中的bean
,两个容器之间的bean没有关联,就不会报错。可以在springmvc.xml中import
spring.xml,启动不会报错
- 使用spring容器的目的,就是为了区分哪些bean是可以脱离web环境使用的。
springmvc容器是在DispatcherServlet初始化的时候创建的。

spring和springmvc的容器关系

spring容器的启动时先于springmvc的,所以,spring容器不知道springmvc容
器的存在的,也就是父容器无法使用子容器的bean。
父容器初始化之后,会将自己放到servletcontext的属性中。
servletContext.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CO
NTEXT_ATTRIBUTE, this.context);
那么,子容器在初始化之后就能得到父容器的存在,子容器就可以使用父容器
的bean。

web.xml

servlet:代表的容器是springmvc的子容器,DispatcherServlet是前端控制
器,该容器专门为前端监听请求的时候使用,就是说当接收URL请求的时候会引用
springmvc容器内的对象处理。
context-param:代表spring本身的容器,springmvc可以理解为继承该容器的
子容器,spring是父类容器,跟继承一样,子容器可以使用父容器的对象,但是父
容器不能使用子类的对象。所以出现两个上下文并不冲突,但是注意,不要重复注
入。
由于监听器的原因,服务器会先初始化spring容器 之后再初始化springmvc。
springmvc是管理controller对象的容器,spring就是管理servlet和dao的容器
,所以在springmvc里面扫描的是controller,在spring里面扫描的是service和dao

《SSM框架学习笔记(一):框架区分、idea无法找到xml文件、容器关系、配置文件》



src/main/java

**/*.xml

true


src/main/resources
true


推荐阅读
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 标题: ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • Java实战之电影在线观看系统的实现
    本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 本文讨论了在Spring 3.1中,数据源未能自动连接到@Configuration类的错误原因,并提供了解决方法。作者发现了错误的原因,并在代码中手动定义了PersistenceAnnotationBeanPostProcessor。作者删除了该定义后,问题得到解决。此外,作者还指出了默认的PersistenceAnnotationBeanPostProcessor的注册方式,并提供了自定义该bean定义的方法。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 深入理解Kafka服务端请求队列中请求的处理
    本文深入分析了Kafka服务端请求队列中请求的处理过程,详细介绍了请求的封装和放入请求队列的过程,以及处理请求的线程池的创建和容量设置。通过场景分析、图示说明和源码分析,帮助读者更好地理解Kafka服务端的工作原理。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
author-avatar
宇中尘粒
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有