关于java:Springbase1Spring基础1

6次阅读

共计 1179 个字符,预计需要花费 3 分钟才能阅读完成。

Traditional-Frame

  • ssh = spring + struts + hibernate
  • ssm = spring + springmvc + MyBatis

全家桶

  • 脚手架框架: springboot
  • 微服务框架: springCloud

简介

  • Spring 是分层的 full-stack( 全栈 ) 轻量级的框架 ,IOCAOP为外围, 提供展示Spring mvc 和业务层事务管理等泛滥企业级利用技术, 还能整合世界泛滥优良开源的第三方框架和类库, 曾经成为了泛滥企业应用开发框架.
  • https://spring.io

劣势

  • 解耦合, 简化开发(IOC 与 DI)
  • AOP 编程的反对(面向切面编程)
  • 申明式事物的反对(@Transnational)
  • 不便程序的测试(@Junit)
  • 不便集成各种优良框架(@Mybatis @Lambook @Redis …)
  • 升高了应用难度(注解的应用简化开发)
  • 源码是经典的 java 学习范例

外围架构

  • Spring 外围容器(Core container) : 蕴含了 spring 利用中 Bean 的创立、配置和治理. 在该模块中, 包含了 spring bean factory, 为 spring 提供了 DI 的性能. 基于 bean 工厂, 咱们还会发现多种 spring 利用上下文的实现.
  • 面向切面编程(AOP) /Aspects spring : 对面向切面编程提供了丰盛的反对. 这个模块是 spring 利用零碎中开发切面的根底, 与 DI 一样, AOP 能够帮忙对象解耦.
  • 数据拜访与集成 (Data Access/ integration) : 集成了大量 JDBC 和 DAO 样板代码, 使得数据库代码变得简洁. 也能够更专一于咱们的业务, 还能够防止数据库资源开释失败而引起的问题.
  • web : 提供了 SpringMVC 框架给 Web 利用, 还提供了多种构建和其余利用交互的近程调用计划
  • Test : 很不便的进行单元测试

核心思想

IOC

  • Inversion of control (管制反转) 
    — 形容的事件: Java 开发畛域对象的创立, 治理的问题
    — 传统开发方式: 通过 new 对象来实现
    — IOC 思维开发方式: 咱们不须要本人去 new 对象, 而是从 IOC 容器去帮忙咱们实例化对象并且治理它, 咱们须要那个对象, 去问 IOC 容器拿就能够了

  • resolve question : 对象之间的耦合问题
  • IOC 和 DI 的区别
    — 形容的是同一件事件, 只是角度不一样.
    — IOC 是站在对象的角度, 对象实例化的权力都交给了容器
    — DI 是站在容器的角度, 容器会将对象依赖的其余对象注入

AOP

  • Aspect Oriented Programming :
    — AOP 是 OOP 的连续; OOP 的三大特色: 封装、继承和多态, OOP 是一种垂直继承体系, 所以不能解决切面编程问题
    — 切面编程: 切指的是横切逻辑, 面指的是受横切逻辑影响的多个办法
  • resolve question : 在不扭转原有业务逻辑的状况下, 加强横切逻辑代码, 基本上解耦合.
正文完
 0