3.Spring入門程序

3.Spring入門程序

第一步:編寫實體類java

 package com.xuan.pojo;
 
 import java.io.Serializable;
 
 /**
  * xuan
  * 2020/7/15
  * 1870136088@qq.com
  **/
 public class User implements Serializable {
 
     private String name;
     private Integer age;
 
     public String getName() {
         return name;
    }
 
     public void setName(String name) {
         this.name = name;
    }
 
     public Integer getAge() {
         return age;
    }
 
     public void setAge(Integer age) {
         this.age = age;
    }
 
     @Override
     public String toString() {
         return "User{" +
                 "name='" + name + '\'' +
                 ", age=" + age +
                 '}';
    }
 }

第二步:編寫spring核心配置文件applicationContext.xml(而且把User注入到bean容器中)spring

  • id屬性是標識單個bean定義的字符串。編程

  • class屬性定義Bean的類型,並使用徹底限定的類名。app

  • property屬性進行賦值 也是經過Spring容器進行賦值的ide

  • id至關於變量名 class至關於反射建立對象(ClassforName)因而Spring就爲咱們建立了User對象函數

  • 當咱們用的時候咱們是從Spring的Bean容器中拿的,這說明咱們已經把建立對象和賦值交給spring了也就時控制反轉IOC測試

 <?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
         https://www.springframework.org/schema/beans/spring-beans.xsd">
 
     <bean id="user" class="com.xuan.pojo.User">
         <property name="name" value="xuan"/>
         <property name="age" value="22"/>
     </bean>
 
 </beans>

第三步:編寫測試類ui

實例化容器this

  • 提供給ApplicationContext構造函數的一個或多個位置路徑是資源字符串,可以讓容器從各類外部資源(例如本地文件系統,Java等)中加載配置元數據CLASSPATHspa

使用容器

  • ApplicationContext是一個維護bean定義以及相互依賴的註冊表的高級工廠的接口。經過使用方法 T getBean(String name, Class<T> requiredType),您能夠檢索bean的實例。

 public class TestUser {
 
     public static void main(String[] args) {
         ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
 
         User user = applicationContext.getBean("user", User.class);
 
         System.out.println(user);
    }
 
 }
 //測試成功 輸出結果爲:
 User{name='xuan', age=22}

 

寫到這能夠聊一聊什麼是控制反轉?

  • 控制? 主要講的應該是建立對象交由誰(spring)來控制

  • 反轉? 是一個從主動編程建立對象到被動接受spring建立的對象的一種轉化

相關文章
相關標籤/搜索