更新时间:2019-11-13 09:28:43 来源:极悦 浏览2472次
Spring框架指的都是SpringFramework,它是很多模块的集合,使用这些模块可以很方便地协助我们进行开发。这些模块是:核心容器、数据访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试模块。比如:CoreContainer中的Core组件是Spring所有组件的核心,Beans组件和Context组件是实现IOC和依赖注入的基础,AOP组件用来实现面向切面编程。
核心技术包括
依赖注入(DI),AOP,事件(events),资源,i18n,验证,数据绑定,类型转换,SpEL。
主要模块
SpringCore:基础,可以说Spring其他所有的功能都需要依赖于该类库。主要提供IOC依赖注入功能。
SpringAspects:该模块为与AspectJ的集成提供支持。
SpringAOP:提供了面向方面的编程实现。
SpringJDBC:Java数据库连接。
SpringJMS:Java消息服务。
SpringORM:用于支持Hibernate等ORM工具。
SpringWeb:为创建Web应用程序提供支持。
SpringTest:提供了对JUnit和TestNG测试的支持。
一
IoC(InverseofControl:控制反转)是一种设计思想,就是将原本在程序中手动创建对象的控制权,交由Spring框架来管理。IoC在其他语言中也有应用,并非Spirng特有。IoC容器是Spring用来实现IoC的载体,IoC容器实际上就是个Map(key,value),Map中存放的是各种对象。
现在通过注解来实现
aop
能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任(例如事务处理、日志管理、权限控制等)封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可拓展性和可维护性。
bean的作用域
singleton:唯一bean实例,Spring中的bean默认都是单例的。
prototype:每次请求都会创建一个新的bean实例。
request:每一次HTTP请求都会产生一个新的bean,该bean仅在当前HTTPrequest内有效。
session:每一次HTTP请求都会产生一个新的bean,该bean仅在当前HTTPsession内有效。
global-session:全局session作用域,仅仅在基于portlet的web应用中才有意义,Spring5已经没有了。Portlet是能够生成语义代码(例如:HTML)片段的小型JavaWeb插件。它们基于portlet容器,可以像servlet一样处理HTTP请求。但是,与servlet不同,每个portlet都有不同的会话
springmvc
SpringMVC可以帮助我们进行更简洁的Web层的开发,并且它天生与Spring框架集成。SpringMVC下我们一般把后端项目分为Service层(处理业务)、Dao层(数据库操作)、Entity层(实体类)、Controller层(控制层,返回数据给前台页面)。
springmvc.工作原理
SpringMVC的入口函数也就是前端控制器DispatcherServlet的作用是接收请求,响应结果。
流程说明(重要):
客户端(浏览器)发送请求,直接请求到DispatcherServlet。
DispatcherServlet根据请求信息调用HandlerMapping,解析请求对应的Handler。
解析到对应的Handler(也就是我们平常说的Controller控制器)后,开始由HandlerAdapter适配器处理。
HandlerAdapter会根据Handler来调用真正的处理器开处理请求,并处理相应的业务逻辑。
处理器处理完业务后,会返回一个ModelAndView对象,Model是返回的数据对象,View是个逻辑上的View。
ViewResolver会根据逻辑View查找实际的View。
DispaterServlet把返回的Model传给View(视图渲染)。
把View返回给请求者(浏览器)
spring框架用到的设计模式
工厂设计模式:Spring使用工厂模式通过BeanFactory、ApplicationContext创建bean对象。
代理设计模式:SpringAOP功能的实现。
单例设计模式:Spring中的Bean默认都是单例的。
模板方法模式:Spring中jdbcTemplate、hibernateTemplate等以Template结尾的对数据库操作的类,它们就使用到了模板模式。
包装器设计模式:我们的项目需要连接多个数据库,而且不同的客户在每次访问中根据需要会去访问不同的数据库。这种模式让我们可以根据客户的需求能够动态切换不同的数据源。
观察者模式:Spring事件驱动模型就是观察者模式很经典的一个应用。
适配器模式:SpringAOP的增强或通知(Advice)使用到了适配器模式、springMVC中也是用到了适配器模式适配Controller
component与bean区别
作用对象不同:@Component注解作用于类,而@Bean注解作用于方法。
@Component通常是通过类路径扫描来自动侦测以及自动装配到Spring容器中(我们可以使用@ComponentScan注解定义要扫描的路径从中找出标识了需要装配的类自动装配到Spring的bean容器中)。@Bean注解通常是我们在标有该注解的方法中定义产生这个bean,@Bean告诉了Spring这是某个类的示例,当我需要用它的时候还给我。
@Bean注解比Component注解的自定义性更强,而且很多地方我们只能通过@Bean注解来注册bean。比如当我们引用第三方库中的类需要装配到Spring容器时,则只能通过@Bean来实现。
以上就是极悦java学院小编针对“学习spring必学的Java基础知识:Spring框架”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
零基础自学java教程推荐
最新java视频教程免费下载(从入门到精通):
零基础java自学教程:
相关推荐
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习