1、环境搭建
导入spring使用最基本的坐标
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.2.RELEASE</version>
</dependency>
在resources下创建一个applicationContext.xml文件,配置所需对象的ioc 。
通常一个类对应一个bean标签,指定【唯一id标识】和【全类名】。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--将创建某个service对象的控制权交给框架-->
<bean id="accountService" class="com.service.impl.AccountServiceImpl"/>
</beans>
一旦配置了ioc,就会将对应的对象存入ioc容器中。ioc是一个键值对结构的容器,key值就是唯一id标识,value值就是通过全类名反射创建的对象。所以,通过唯一标识就可以定位到对应的对象。
底层创建Bean对象的三种设计方式
- 第一种:【使用默认构造函数创建】。在spring的配置文件中,使用bean标签,且除了id和class属性外没有其他属性时,使用的就是该种方式。此时如果Bean类中没有默认构造函数,将无法创建对象。(基本上每个类都会有默认的构造方法)
- 第二种:【根据某个类中的方法来获取返回值对象】,比如在某个A类中有一个方法,该方法会返回一个B类对象,如何获取B类对象?可以通过id创建A类对象再调用方法获取B类对象。但是如果想要直接通过id获取B类对象呢?要进行如下配置:
<!--配置通过某个类中的方法获取对象-->
<bean id="nameA