第一天

作者: 承诺被后的承诺 | 来源:发表于2019-05-12 12:16 被阅读0次

1.2 Spring4学习路线

Spring第一天:Spring的概述、SpringIOC入门(XML)、Spring的Bean管理、Spring属性注入

Spring第二天:Spring的IOC的注解方式、Spring的AOP开发(XML)

Spring第三天:Spring的AOP的注解开发、Spring的声明式事务、JdbcTemplate。

Spring第四天:SSH的整合、HibernateTemplate的使用、OpenSessionInViewFilter的使用。

1.3 Spring的概述

1.3.1 Spring的概述

1.3.1.1 什么是Spring##

11.png

Spring:SE/EE开发的一站式框架。

一站式框架:有EE开发的每一层解决方案。

WEB层 :SpringMVC

ervice层 :Spring的Bean管理,Spring声明式事务

DAO层 :Spring的Jdbc模板,Spring的ORM模块

1.3.1.2 为什么学习Spring

1.png

1.3.1.3 Spring的版本

Spring3.x和Spring4.x

1.3.2 Spring的入门(IOC)

1.3.2.1 什么IOC

IOC: Inversion of Control(控制反转)。

控制反转:将对象的创建权反转给(交给)Spring。

1.3.2.2 下载Spring的开发包

官网:http://spring.io/

1.3.2.3 解压Spring的开发包

2.png

docs :Spring的开发规范和API

libs :Spring的开发的jar和源码

schema :Spring的配置文件的约束

1.3.2.4 创建web项目,引入jar包

3.png
4.png

1.3.2.5 创建接口和类

5.png
6.png

问题:
如果底层的实现切换了,需要修改源代码,能不能不修改程序源代码对程序进行扩展?


7.png

1.3.2.6 将实现类交给Spring管 6.png

理 ###

在spring的解压路径下spring-framework-4.2.4.RELEASE\docs\spring-framework-reference\html\xsd-configuration.html


8.png

1.3.2.7 编写测试类##

9.png

1.3.2.8 IOC和DI(*****)##

IOC:控制反转,将对象的创建权反转给了Spring。
DI:依赖注入,前提必须有IOC的环境,Spring管理这个类的时候将类的依赖的属性注入(设置)进来。
面向对象的时候
依赖
Class A{

    }
    
    Class B{
        public void xxx(A a){
    
    }
    }
    继承:is a
    Class A{
    
    }##  ##
    Class B extends A{
    
    }
    聚合:has a

1.4 Spring的工厂类

1.4.1 Spring的工厂类

1.4.1.1 Spring工厂类的结构图

10.png

ApplicationContext继承BeanFactory。

1.4.1.2 BeanFactory :老版本的工厂类

BeanFactory:调用getBean的时候,才会生成类的实例。

1.4.1.3 ApplicationContext :新版本的工厂类

ApplicationContext:加载配置文件的时候,就会将Spring管理的类都实例化。
ApplicationContext有两个实现类

ClassPathXmlApplicationContext :加载类路径下的配置文件

FileSystemXmlApplicationContext :加载文件系统下的配置文件

1.5 Spring的配置

1.5.1 XML的提示配置

1.5.1.1 Schema的配置

12.png

1.5.2 Bean的相关的配置

1.5.2.1 <bean>标签的id和name的配置

id :使用了约束中的唯一约束。里面不能出现特殊字符的。

name :没有使用约束中的唯一约束(理论上可以出现重复的,但是实际开发不能出现的)。里面可以出现特殊字符。

Spring和Struts1框架整合的时候

<bean name=”/user” class=””/>

1.5.2.2 Bean的生命周期的配置(了解)

init-method :Bean被初始化的时候执行的方法

destroy-method :Bean被销毁的时候执行的方法(Bean是单例创建,工厂关闭)

1.5.2.3 Bean的作用范围的配置(重点)

scope :Bean的作用范围

singleton :默认的,Spring会采用单例模式创建这个对象。

prototype :多例模式。(Struts2和Spring整合一定会用到)

request :应用在web项目中,Spring创建这个类以后,将这个类存入到request范围中。

session :应用在web项目中,Spring创建这个类以后,将这个类存入到session范围中。

globalsession :应用在web项目中,必须在porlet环境下使用。但是如果没有这种环境,相对于session。

1.6 Spring的Bean管理(XML方式)

1.6.1 Spring的Bean的实例化方式(了解)

Bean已经都交给Spring管理,Spring创建这些类的时候,有几种方式:

1.6.1.1 无参构造方法的方式(默认)

编写类


13.png

编写配置


14.png

1.6.1.2 静态工厂实例化的方式

编写Bean2的静态工厂


15.png

配置


16.png

1.6.1.3 实例工厂实例化的方式

Bean3的实例工厂


17.png

配置


18.png

1.6.2 Spring的属性注入

1.6.2.1 构造方法的方式的属性注入

构造方法的属性注入


19.png

1.6.2.2 Set方法的方式的属性注入

Set方法的属性注入


20.png

Set方法设置对象类型的属性


21.png

1.6.2.3 P名称空间的属性注入(Spring2.5以后)

通过引入p名称空间完成属性的注入:

写法:

普通属性 p:属性名=”值”

对象属性 p:属性名-ref=”值”

P名称空间的引入


22.png

使用p名称空间


23.png

1.6.2.4 SpEL的属性注入(Spring3.0以后)

SpEL:Spring Expression Language,Spring的表达式语言。

语法:#{SpEL}


24.png

1.6.3 集合类型属性注入(了解)

1.6.3.1 配置

<!-- Spring的集合属性的注入============================ -->
<!-- 注入数组类型 -->
<bean id="collectionBean" class="com.itheima.spring.demo5.CollectionBean">
    <!-- 数组类型 -->
    <property name="arrs">
        <list>
            <value>王东</value>
            <value>赵洪</value>
            <value>李冠希</value>
        </list>
    </property>
    
    <!-- 注入list集合 -->
    <property name="list">
        <list>
            <value>李兵</value>
            <value>赵如何</value>
            <value>邓凤</value>
        </list>
    </property>
    
    <!-- 注入set集合 -->
    <property name="set">
        <set>
            <value>aaa</value>
            <value>bbb</value>
            <value>ccc</value>
        </set>
    </property>
    
    <!-- 注入Map集合 -->
    <property name="map">
        <map>
            <entry key="aaa" value="111"/>
            <entry key="bbb" value="222"/>
            <entry key="ccc" value="333"/>
        </map>
    </property>
</bean>

1.7 Spring的分模块开发的配置

1.7.1 分模块配置

1.7.1.1 在加载配置文件的时候,加载多个

25.png

1.7.1.2 在一个配置文件中引入多个配置文件

26.png

相关文章

  • 第一天

    人的一生当中,会有很多个第一天。 第一天吃饭,第一天走路,第一天上学,第一天离家,第一天工作,第一天恋爱等等。 在...

  • 自律第一天

    坚持写作第一天 坚持早起第一天 坚持听书第一天 坚持阅读第一天 坚持录制演讲视频第一天 坚持关注创业项目知识第一天...

  • 第一天

    第一天上班 地铁挤 第一天早起 好冷困 第一天上班 迷茫 第一天早饭 没来得及吃 第一天上班 不知所措 第一天好挤...

  • 第一天

    第一天有很多种 生命的第一天 开始说话的第一天 开始走路的第一天 开始叫爸爸妈妈的第一天 开始上幼儿园的第一天 开...

  • Java获取某年某周的第一天

    获取本周的第一天 获取本月的第一天 获取今年的第一天

  • 第一天

    人生有很多个第一天,第一天上学,第一天上班,第一天创业,今天是我们开始写作第一天,我看群里开始70多人,最后只留下...

  • 书法

    第一天练习,走向大师的第一天!!

  • 生信学习day1

    学习生信第一天 学习生信第一天 学习生信第一天 学习生信第一天 学习生信第一天 需要加粗的文字,用两个*包起来 明...

  • 2018-1-29  第一天

    不和fs联系的第一天。 8点前下班的本周第一天。 需求爆满的本周第一天。 和yj好好聊天的本周第一天。 早睡~

  • 又是新的第一天

    现在经历的第一天,已经数不过来,今天的第一天,又是一个想新的开始的第一天。 第一天干什么呢,做什么的第一天呢。 其...

网友评论

      本文标题:第一天

      本文链接:https://www.haomeiwen.com/subject/fgqcaqtx.html