1. 程式人生 > >spring的簡單用途

spring的簡單用途

一.、什麼是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();
		
	}
}

打印出來的結果為:

方法實現一:只為完成功能,不考慮效能
系統升級,效能更優