2021-08-25 Spring的基本概况

什么是spring?

spring是分层的javaSE/EE full-stack轻量级开源框架,IOC和AOP

学习目标:

      一、          ApplicationContext容器使用

                       属性setter方法注入的实现

      二、         Spring中的IoC和DI

      三、         Spring的概念和优点

spring服务器端采用三层体系架构:

        表示层(Web): Struts等框架的整合

        业务逻辑层(Service):管理事务、记录日志

        持久层(Dao):整合Hibernate、JdbcTemplate

Spring框架的优点:

        1、非侵入式设计

        2、方便解耦、嘉华开发

        3、支持AOP

        4、支持声明式事务处理

        5、方便程序测试

        6、方便继承各种优秀框架

        7、降低Java EE API 的使用难度

Spring的体系结构

 1、Core Container(核心容器)

        

         Beans(重点):Spring的顶层接口,提供了BeanFactory,Spring将管理对象称为Bean。

         Core(重点):提供了Spring的基本组成部分,包括IoC(控制反转)和DI

         Context(重点):上下文模块,建立在Core和Beans之上

         SpEL(了解):Spring3.0后新增模块,是运行和操作对象图的强大的表达式语言。

 2、Data Access/Integration(数据访问/集成)

         数据处理模块:

        JDBC(重点):提供了JDBC抽象层,方便操作数据库

        ORM(了解):对象关系映射API

        OXM(了解):是一个xml

        JMS(了解):java的消息符

        Transactions(重点):处理事务

3、Web

 

        WebSocket(了解):Spring4.0后新增的模块

        Servlet(重点):也称为Spring-webmvc模块,包含Spring模型-视图-控制器(MVC)

                        和RESTWeb Services实现的程序

        Web(重点):提供基本的Web开发集成特性

        Portlet(了解):类似Service

 4、其他模块

        AOP(重点):面向切面编程

        Aspects(重点):也是一个AOP框架,

        Instrumentation(了解):类加载器

        Messaging(了解):Spring4.0后新增模块,消息传递体系和协议的支持

        Test(掌握):单元测试

Spring的libs中四个Spring的基础包,分别对应核心容器的四个模块

        

Spring的第三方依赖包:

        

 

 Spring的核心容器

        BeanFactory容器(了解):创建BeanFactory实例时,需要XML文件来管理

                Beanfactory是一个接口,需要new一个实现类来使用它

 BeanFactory beanFactory = new XmlBeanFactory(new FileSystemResource("F://applicationContext.xml"));
                                           //需要FileSystemResource参数   //Xml配置文件地址

        ApplicationContext(容器):BeanFactory的子接口,包含BeanFactory所有功能

               创建ApplicationContext容器有以下两种方法:        

         1、通过ClassPathXmlApplicationContext创建(常用)

ApplicationContext applicationContext=new ClassPathXmlApplicationContext(String configLocation);
//ClassPathXmlApplicationContext会从类路径classPath中寻找XML配置文件,找到并装载完成ApplicationContext的实例化工作

         2、通过FileSystemXmlApplicationContext创建(不常用)

ApplicationContext applicationContext=new FileSystemXmlApplicationContext(String configLocation);
//FileSystemXmlApplicationContext会从指定的文件系统路径(绝对路径)中寻找XML配置文件,找到并撞在完成ApplicationContext的实例化工作

java项目中,通过ClassPathXmlApplicationContext类实例化ApplicationContext容器

Web项目中,ApplicationContext容器的实例化工作交给Web服务器

        Web服务器实例化ApplicationContext容器时,通常使用ContextLoaderListener来实现,这种方法只需要在web.xml中添加如下代码:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>
            classpath:spring/applicationContext.xml
    </param-value>
</context-param>
<listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>

创建Spring容器后,就可以获取Spring容器中的Bean。

Spring获取Bean的实例两种方法:

        1、Object getBean(String name);

                根据容器中Bean的id或name来获取指定的Bean,返回顶层类型,Object(对象)类型,获取后需要强制类型转换

        2、<T> T getBean(Class<T> requiredType)

                根据类对象的类型来获取Bean的实例。由于时泛型方法,因此不需要强制转换类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值