专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 学习spring必学的Java基础知识:Spring框架

学习spring必学的Java基础知识:Spring框架

更新时间:2019-11-13 09:28:43 来源:动力节点 浏览2332次



  Spring框架指的都是SpringFramework,它是很多模块的集合,使用这些模块可以很方便地协助我们进行开发。这些模块是:核心容器、数据访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试模块。比如:CoreContainer中的Core组件是Spring所有组件的核心,Beans组件和Context组件是实现IOC和依赖注入的基础,AOP组件用来实现面向切面编程。


微信截图_20190710084456.jpg


  核心技术包括


  依赖注入(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视频教程免费下载(从入门到精通):http://www.bjpowernode.com/video.html


零基础java自学教程http://www.bjpowernode.com/tutorial_java_se/


相关推荐


零基础学Java编程,这些内容你一定要知道


学习Java编程了解一些免费Java开发工具


初学者学Java编程真的很难?


提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>