Spring知识点笔记

博主是跟着视频来学习的Spring框架,用这篇文章来记录一下所学习的知识点,以便以后回顾,也是梳理一下知识。


1. 启动Spring容器 获取对象
    ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
    context.getBean("BeanID");


2. Spring创建对象有三种方式分别为调用构造器创建Bean、静态工厂模式、实例工厂模式。

具体的可以参考这篇博客:Spring使用静态工厂方法创建Bean

3. Bean的别名

<bean id="helloWorld" class="classpath"/>
<alias name="helloWorld" alias="newName">


4. 创建对象的时间

默认情况下,启动Spring容器的时候创建对象
懒加载:添加属性 lazy-init=“true” 则在context.getBean时才创建

<bean id="helloWorld" class="classpath" lazy-init="true"/>


5. Spring容器中对象的多实例和单实例

在Spring容器中的对象默认是单例,如果在类上声明一个属性,该属性含有数据,那么该属性是全局的
如果bean标签中scope属性是prototype则是多例

  • singleton 表示在spring容器中的单例,通过spring容器获得该bean时总是返回唯一的实例(默认)
  • prototype表示每次获得bean都会生成一个新的对象
  • request表示在一次http请求内有效(只适用于web应用)
  • session表示在一个用户会话内有效(只适用于web应用)
  • globalSession表示在全局会话内有效(只适用于web应用
    详细介绍可以参考这篇文章: Spring中的scope配置和@scope注解


6.Sprig容器的init和destory和执行流程

  1. 创建一个Spring容器对象
  2. 调用构造函数创建在Spring容器中的对象(不能是多实例,lazy-init不能为true)
  3. 执行一个对象的init方法(需要在bean标签中设置init-method方法)
  4. 利用context.getBean得到对象(如果这个bean的scopr为prototype或者init-lazy为true则创建对象)
  5. 调用对象的业务流程
  6. 当spring关闭时执行destroy方法(需要在bean标签中设置destroy方法)


7.Spring容器的DI(依赖注入)

  1. Set方法注入

  2. 构造方法注入(注意循环依赖问题)

    • constructor-arg指的是构造器中的参数
    • index 角标 从0开始
    • value 如果是一般类型用value赋值
    • ref 引用类型赋值
  3. 自动装配
    3.1 基于xml的自动装配

    • 按照类型装配
    • 按照名字装配

    3.2 基于注解的自动装配(@Autowired、@Resource、@Value)

    • @Autowired:默认按照类型匹配,如果想要按名称匹配可以和@Qualifier结合
    • @Resource:默认按名字来匹配后自动注入
    • @Value:适用于简单类型的装配。

详细介绍可以参考这篇文章:关于Spring IOC (DI-依赖注入)你需要知道的一切)


8.Spring容器的继承

  1. 在类中继承后赋值
  2. 通过parent从配置文件中继承


9.Java的自定义注解

参考链接:Spring自定义注解


这里边有许多知识点是参考了其他文章的,因为视频中讲的比较模糊,不好理解,博主又去搜索了其他相关的博客参考后选出个人认为较为容易理解的来给大家,大家一起学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值