1. 程式人生 > >Spring(1)管理bean

Spring(1)管理bean

  1. 關於Struts2的,我以後用一個小專案講解(flag就立在這裡!!!)
  2. 進入正題:先說一下Spring的核心理論:在spring中,所有的物件都會被spring當作核心容器管理的物件,工程為bean,但是,這個bean和以前說到的bean不太一樣,這裡的bean沒有什麼要求,只要是物件就行(不用什麼私有變數啦,setget方法啦的。)
  3. 現在用IDEA建立一個簡單的spring程式
    1. 新建一個專案需要注意的就是專案型別要選擇spring  mvc其他的就沒啥好說了,圖2是IDEA在下載spring需要的jar包,是不是很好用~~
    2. 這是各個檔案的位置
    3. 開始打程式碼,具體的講解穿插在程式碼中
      
      package service;
      
      
      /**
       這個沒啥好說的,就簡單輸出
       */
      
       /**
       * Demo Axe
       *
       * @author lin
       * @date 2018/11/25
       */
      
      public class Axe {
           String chop(){
              return "使用斧頭砍柴";
          }
      }
      
      package service;
      /**
       * 在這個類中使用Axe,也沒啥好說的
       */
      
      /**
       * Demo Person
       *
       * @author lin
       * @date 2018/11/25
       */
      public class Person {
          private Axe axe;
      
          public Axe getAxe() {
              return axe;
          }
      
          public void setAxe(Axe axe) {
              this.axe = axe;
          }
          public void useAxe(){
              System.out.println("我打算去砍點柴火!");
              System.out.println(axe.chop());
          }
      }
      
      package main;
      
      import org.springframework.context.ApplicationContext;
      import org.springframework.context.support.ClassPathXmlApplicationContext;
      import service.Person;
      
      /**
       * 測試類
       */
      
      
      /**
       * Demo BeanTest
       *
       * @author lin
       * @date 2018/11/25
       *
       */
      public class BeanTest {
      
          public static void main(String []args){
              ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
      //       建立spring容器
              
              Person p = applicationContext.getBean("person", Person.class);
      //        在spring中,不用new關鍵字建立物件,而是由spring建立的
              
              p.useAxe();
          }
      
      
      }
      
      <?xml version="1.0" encoding="GBK"?>
      <!--spring配置檔案的根元素-->
      <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns="http://www.springframework.org/schema/beans"
             xsi:schemaLocation="http://www.springframework.org/schema/beans
      	   http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
      
          <!--配置名為person的bean,並指定其實現類-->
          <bean id="person" class="service.Person">
              <property name="axe" ref="axe"/>
              <!--將下面的這個axe當作引數傳入Person類的setAxe方法中-->
          </bean>
      
          <!--配置三個bean並且指定其實現類-->
          <bean id="axe" class="service.Axe"/>
          <bean id="win" class="javax.swing.JFrame"/>
          <bean id="date" class="java.util.Date"/>
          
      </beans>