天天看點

SpringIoc入門

1,導入jar包

Spring是Spring社群所提供的第三方的開源架構。spring中有三大核心元件:

  • Spring core:為context在管理Spring中bean與bean之間的關系時為其服務的。也就是為Spring管理bean提供工具的一個工具類。
  • Spring beans:主要負責bean的建立、bean的定義、bean的解析。這個元件依賴于Spring core。
  • Spring context:在Spring中的context包下,為Spring提供運作環境,用于儲存各個對象狀态。這個元件依賴于Spring beans。

    通過上面一層一層的依賴關系可以看出,開發的時候隻要引入Spring context就好了。其他的元件會自動一并引入。

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.3.8</version>
</dependency>
           

2,注入入門案例

什麼是注入

注入其實就是建立對象,并把對象交給Spring容器,讓Spring容器管理對象。

package com.xl.spring.xlIoc.beans;

public class Person {
    public void sayHello(String name){
        System.out.println(" say hello " + name);
    }
}
           
<?xml version="1.0" encoding="UTF-8" ?>
<!-- 存放bean的容器 -->
<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">
    <!--
        bean:用來指定一個需要spring建立并注入到IOC容器的對象
            id:表示這個對象的名字
            class:表示類型,類的全限定名
    -->
    <bean id="person" class="com.xl.spring.xlIoc.beans.Person"/>
</beans>
           
package com.xl.spring.xlIoc.test;

import com.xl.spring.xlIoc.beans.Person;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Ioc001 {
    public static void main(String[] args) {
        //1.通過配置檔案擷取到spring的上下文
        ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
        //2.擷取對應想要用的對象,這一步是通知spring的ioc容器讓它拿一個對象來
        Person person = (Person) ac.getBean("person"); //通過id來擷取對象
        //3.可以調用對象的方法了
        person.sayHello("宋智孝");
    }
}