spring——ioc的簡單用途
阿新 • • 發佈:2018-12-19
一.、什麼是spring,它能夠做什麼?
Spring是一個開源框架,它由Rod Johnson建立。它是為了解決企業應用開發的複雜性而建立的。
Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。
然而,Spring的用途不僅限於伺服器端的開發。從簡單性、可測試性和鬆耦合的角度而言,任何Java應用都可以從Spring中受益。
目的:解決企業應用開發的複雜性
功能:使用基本的JavaBean代替EJB,並提供了更多的企業應用功能
範圍:任何Java應用
簡單來說,Spring是一個輕量級的控制反轉(IoC)和麵向切面(AOP)的容器框架。
xml 配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" default-autowire="byName" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd"> <!-- 講解ioc的用途 --> <bean class="com.spring.ioc.biz.impl.UserBizImpl" id="userBiz"></bean> <bean class="com.spring.ioc.biz.impl.UserBizImpl2" id="userBiz2"></bean> <bean class="com.spring.action.UserAction" id="userAction"> <property name="userBiz" ref="userBiz"></property> </bean> <bean class="com.spring.action.TeaAction" id="teaAction"> <property name="userBiz" ref="userBiz2"></property> </bean> </beans>
UserBizImpl
package com.spring.ioc.biz.impl;
import com.spring.ioc.biz.UserBiz;
/**
* 模擬做專案實現某一項功能
* @author LeiFengJun
*
*/
public class UserBizImpl implements UserBiz {
public void doSomething() {
System.out.println("方法實現一:只為完成功能,不考慮效能");
// System.out.println("系統升級,效能更優");
}
}
UserBizImpl2
package com.spring.ioc.biz.impl;
import com.spring.ioc.biz.UserBiz;
/**
* 模擬做專案實現某一項功能
* @author LeiFengJun
*
*/
public class UserBizImpl2 implements UserBiz {
public void doSomething() {
System.out.println("系統升級,效能更優");
}
}
UserBiz
package com.spring.ioc.biz; public interface UserBiz { public void doSomething(); }
測試類
package com.spring.ioc.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.spring.action.ClzAction;
import com.spring.action.StudentAction;
import com.spring.action.TeaAction;
import com.spring.action.UserAction;
public class IocTest {
public static void main(String[] args) {
//通過建模獲取spring的上下文,獲取到了工程中的所有類
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-context.xml");
UserAction userAction = (UserAction) applicationContext.getBean("userAction");
userAction.aaa();
TeaAction teaAction = (TeaAction) applicationContext.getBean("teaAction");
teaAction.aaa();
}
}
打印出來的結果為:
方法實現一:只為完成功能,不考慮效能
系統升級,效能更優