您好,欢迎来到华拓科技网。
搜索
您的当前位置:首页Spring实战学习笔记-初知Spring

Spring实战学习笔记-初知Spring

来源:华拓科技网

在学习任何一样事情前,我们都需要知道为何要学习他,他有什么优点?就像喜欢一个人一样,为何要喜欢他,一定是因为他身上的某个点戳中了你,所以才喜欢。

学习东西亦是如此,所以在学习Spring实战前,我们先了解下为何要学习Spring。

 

1.Spring是什么

一句话解释:Spring是一个全方位的应用程序框架

更详细的查看spring历史来源,可google

 

2.Spring的优点

最大优点是:简化开发(makes java simple)

细化优点(特性):

  • 基于POJO的轻量级和最小侵入型编程
  • 通过依赖注入和面向接口实现松耦合
  • 通过切面和惯例进行声明式编程
  • 通过切面和模版减少样板式代码

 

3.Spring的架构

  • A 表现层   web层    MVC是表现层的一个设计模型 
  • B 业务层  service层
  • C 持久层  dao层

 

4.Spring需要引入的依赖包

在pom中引入依赖时,往往是网上粘贴一堆依赖,但并不知道哪些到底需要引入,所以我们需要明确spring到底需要哪些jar包呢

这个图就很好的解释了我们到底需要哪些jar包,图中所有的矩形都对应一个jar包

下面我们一个一个来看:

1.Test

    <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-test</artifactId>
            <version>5.3.4</version>
            <scope>test</scope>
    </dependency>

在pom中引入依赖spring-test,可以看到该依赖引入了spring-core的jar包

 

2.Core Container

包含了beans,core,context和expression language这四个jar包

spring-core:依赖注入IoC与DI的最基本实现
spring-beans:Bean工厂与bean的装配
spring-context:spring的context上下文即IoC容器
spring-expression:spring表达式语言

以上均可单独引入,但spring-webmvc依赖中包含了以上依赖,所以可直接引入spring-webmvc

 

3.AOP

spring-aop:面向切面编程

spring-aspects:集成AspectJ
spring-instrument:提供一些类级的工具支持和ClassLoader级的实现,用于服务器
spring-instrument-tomcat:针对tomcat的instrument实现

    <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>5.3.4</version>
        </dependency>
    <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aspects</artifactId>
            <version>2.5.6</version>
        </dependency>


4.Data Access

spring-jdbc:jdbc的支持
spring-tx:事务控制
spring-orm:对象关系映射,集成orm框架
spring-oxm:对象xml映射
spring-jms:java消息服务

 

5.Web

spring-web:基础web功能,如文件上传
spring-webmvc:mvc实现
spring-webmvc-portlet:基于portlet的mvc实现
spring-struts:与struts的集成,不推荐,spring4不再提供

 

所以总结下来,当需要引入上面所有的jar包时,由于每个依赖又存在其他依赖,可引入如下依赖(data access不在范围中):


        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.3.4</version>
        </dependency>
        

 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo6.cn 版权所有 赣ICP备2024042791号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务