如今開始搭建一個簡單的Spring項目,Spring無需依賴web容器,因此咱們就用最簡單的工程java
package org.heinrich.action; /* *定義一個接口 */ public interface Iaction { public String inputName(String name); }
package org.heinrich.action; /* *定義一個IAction的實現類 */ public class UpperAction implements Iaction { private String message; @Override public String inputName(String name) { return name + ":"+ getMessage().toUpperCase(); } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
package org.heinrich.action; public class LowerAction implements Iaction { private String message; @Override public String inputName(String name) { return name + ":"+ getMessage().toLowerCase(); } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } }
package org.heinrich.action; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; //測試類 public class SpringTest { public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml"); Iaction upperAction = (Iaction)ctx.getBean("upperAction"); Iaction lowerAction = (Iaction)ctx.getBean("lowerAction"); String name1 = upperAction.inputName("Heinrich"); String name2 = lowerAction.inputName("Kim"); System.out.println(name1); System.out.println(name2); } }
配置bean.xml,放置在src目錄下,會自動到classPath下面
web
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"> <beans> <description>Spring quick start</description> <bean id="lowerAction" class=" org.heinrich.action.LowerAction"> <property name="message"> <value>Good Monring</value> </property> </bean> <bean id="upperAction" class=" org.heinrich.action.UpperAction"> <property name="message"> <value>Good Monring</value> </property> </bean> </beans>
查看測試結果spring
Heinrich:GOOD MONRING Kim:good monring
框架優勢編程
輕量級的容器框架沒有侵入性框架
使用IoC容器更加容易組合對象直接間關係,面向接口編程,下降耦合ide
Aop能夠更加容易的進行功能擴展,遵循ocp開發原則測試
建立對象默認是單例的,不須要再使用單例模式進行處理ui
5,缺點:業務功能依賴spring特有的功能,依賴與spring環境。this