Java进阶之spring 简介, ioc 的bean工厂与di

一、spring(春天) ----软件界的艺术品

官网:spring.io
[中文官网](https://www.docs4dev.com/docs/zh/spring-framework/5.1.3.RELEASE/reference/data-access.html#jdbc)

1.spring是一个开源框架
2.spring是分层的java EE、一站式轻量级框架。

  1. 分层的java EE:
    持久层: --mybatis
    视图层: – jsp /servlet
    控制层: --servlet
    一站式: java EE每层都有解决方案
    轻量级:spring无侵入式 (低耦合,高内聚)

  2. GA:General Availability,正式发布的版本,官方推荐使用此版本。在国外都是用GA来说明release版本的。

    PRE: 预览版,内部测试版. 主要是给开发人员和测试人员测试和找BUG用的,不建议使用;

    SNAPSHOT: 快照版,可以稳定使用,且仍在继续改进版本。

优点:(以前我们要自己new对象,现在spring帮我们new对象,以后我们需要对象,就找spring要)

打个比方
在这里插入图片描述

  1. spring 中为什么叫bean工厂而不叫对象工厂?
    1)对象 new Object(); 女朋友
    2)bean 对象–>具有生命周期的----bean 老婆

3 .spring bean工厂 (本质ioc容器)
你想让bean工厂帮你new对象,首先要告诉spring bean工厂需要产生什么对象?

操作步骤

1.方式一
4. 1)导包(导依赖)
2)通过配置告诉spring bean工厂生产什么样的bean?
方式1:基于xml配置
1)BeanFacotry 按需实例化
2) ApplicationContext 容器启动实例化所有的bean
ClassPathXmlApplicationContext
FileSystemXmlApplicationContext
注意:classpath:spring-beans.xml
3) 默认spring bean工厂中产生的bean都是单例bean ,可以通过scope属性来修改
问题:scope=“prototype” 通过factoryBean获取有问题?
默认scopre=“singleton” 单列

方式2:基于注解配置
1、xml+注解配置
2、java+注解配置
方式3:基于java的配置
注意:需要再多导入一个包spring-aop-5.0.14.RELEASE.jar
1)AnnotationConfigApplicationContext
@Configuration
@Bean(name=“redPig”)

总结:IOC是一种思想,为了减轻程序员自己new对象工作,实现IOC方式,第1是自己工厂类(使用工厂模式) 第2是自己使用spring 的bean
工厂。

二. Di

dependency Injection 依赖注入 (给属性注入值)
1、set方法注入
2、构造方法注入
1)根据参数名进行注入 与参数顺序无关,与构造方法定义的顺序有关
2)根据参数下标进行注入

bean的属性
id/name bean的唯一标示
id是bean的唯一标示
id和name可以同时写 id是唯一标示 name别名
name也是bean唯一标示
class

        建议:一般建议使用id指定bean的唯一标示

猜你喜欢

转载自blog.csdn.net/weixin_52841956/article/details/111184714
今日推荐