Java自学——Spring框架day1

Spring Framework

Spring使用的目的:
目标:充分解耦
使用IoC容器管理bean(IoC)
在IoC容器内将有依赖关系的bean进行关系绑定(DI)
最终效果:
使用对象时不仅可以直接从IoC容器中获取,并且获取到的bean已经绑定了所有的依赖关系
在这里插入图片描述
Data Access:数据访问
Data Integration:数据集成
Web:Web开发
AOP:面向切面编程
Aspects:AOP思想实现
Core Container:核心容器
Test:单元测试与集成测试

IoC(Inversion of Control)控制反转

对象的创建控制权由程序转移到外部,这种思想称为控制反转

Spring技术对IoC思想进行了实现
Spring提供了一个容器,称为IoC容器,用来充当IoC思想中的“外部”(架构中的core,context)
IoC容器负责对象的创建、初始化等一系列工作,被创建或被管理的对象在IoC容器中统称为Bean
DI(Dependency Injection)依赖注入
在容器中建立bean与bean之间的依赖关系的整个过程,称为依赖注入

使用入门

1.加载maven坐标:spring-context
2.创建xml配置文件
3.配置xml文件的bean方法,把需要管理的类,交给容器
4.获取容器

ClassPathXmlApplicationContext cxt = new ClassPathXmlApplicationContext("applicationContext.xml");

5.使用容器获取bean,并使用bean方法

BookService bookservice1 = (BookService) cxt.getBean("bookservice1");
bookservice1.save();

配置文件细节

在这里插入图片描述
bean别名
bean的作用范围
在这里插入图片描述

实例化bean的三种方法

1.构造方法:无参构造方法
在这里插入图片描述

2.静态工厂
在这里插入图片描述
3.实例工厂
在这里插入图片描述

依赖注入方式选择

强制依赖使用构造器进行,使用setter注入有概率不进行注入导致null对象出现
可选依赖使用setter注入进行,灵活性强
Spring框架倡导使用构造器,第三方框架内部大多数采用构造器注入的形式进行数据初始化,相对严谨
如果有必要可以两者同时使用,使用构造器注入完成强制依赖的注入,使用setter注入完成可选依赖的注入
实际开发过程中还要根据实际情况分析,如果受控对象没有提供setter方法就必须使用构造器注入
自己开发的模块推荐使用setter注入
在这里插入图片描述

Spring加载数据源文件

1.创建properties数据源文件
2.修改spring配置文件的命名空间
3.使用` <context:property-placeholder location=“jdbc.properties”/> 标签命令加载properties文件
再配置,使用${}读取加载的属性值

<bean class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="${jdbc.driver}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
</bean>

容器

在这里插入图片描述

`在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值