springboot(3)

URL和URI

  • URI:Uniform Resource Identifier,统一资源标识符

  • URL:Uniform Resource Locator,统一资源定位符

  • URN:Uniform Resource Name,统一资源名称

但URN只是对资源的描述,而通过URL可以直接找到资源

IOC

IOC的实现方式主要有两种:一种是依赖查找,另一种是依赖注入。两者 的主要区别在于查找是主动行为,而注入是被动行为。

依赖查找会主动寻找对象所需的依赖,同时获取依赖对象的时机也是可以自行控制的;

依赖注入则会 被动地等待容器为其注入依赖对象,由容器通过类型或者名称将被依赖对象注入相应的对象中。

  • 基于接口

  • 基于Set方法

  • 基于构造函数

  • 基于注解

属性注入:

属性注入即通过setXXX( )方法注入bean的属性值或依赖对象。

Spring首先会调用bean的默认构造函数实例化bean对象,然后再通过反射的方法调用set方法来注入属性值。

 <bean id="user" class="com.Kevin.bean.User">
    <property name="username">
      <value>Kevin</value>
    </property>
  </bean> 

构造函数注入:

构造函数注入是除属性注入之外的另一种常用的注入方式,它可以保证一些必要的属性在bean实例化时就得到了设置,并在实例化后就可以使用。

使用构造函数注入的前提是: bean必须提供带参的构造函数。

对于构造函数的注入,配置文件可以有以下几种方式:

  • 按类型匹配入参

  • 按索引匹配入参

  • 联合使用类型和索引匹配入参

  • 通过自身类型反射匹配入参

工厂方法注入:

1.非静态的,必须实例化工厂类之后才能调用工厂方法。

  <bean id="bookFactory" class="com.Kevin.factorybean.BookFactory"></bean>
  <bean id="book" factory-bean="bookFactory" factory-method="buyBook"></bean>
  </beans>

2.静态工厂方法

无需创建工厂类实例的情况下就可以调用工厂类方法

  <bean id="car" class="com.Kevin.factorybean.Car" factory-method="createCar"></bean>  
</beans>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值