Spring(1)管理bean
阿新 • • 發佈:2018-12-02
- 關於Struts2的,我以後用一個小專案講解(flag就立在這裡!!!)
- 進入正題:先說一下Spring的核心理論:在spring中,所有的物件都會被spring當作核心容器管理的物件,工程為bean,但是,這個bean和以前說到的bean不太一樣,這裡的bean沒有什麼要求,只要是物件就行(不用什麼私有變數啦,setget方法啦的。)
- 現在用IDEA建立一個簡單的spring程式
- 新建一個專案需要注意的就是專案型別要選擇spring mvc其他的就沒啥好說了,圖2是IDEA在下載spring需要的jar包,是不是很好用~~
- 這是各個檔案的位置
- 開始打程式碼,具體的講解穿插在程式碼中
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>