码迷,mamicode.com
首页 > 编程语言 > 详细

Spring开发

时间:2017-06-28 21:52:45      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:str   操作   角度   添加   beans   tar   int()   his   www   

没有状态变化的对象(无状态对象):应当做成单例。

Spring-framework的下载:http://repo.spring.io/release/org/springframework/spring/

配置Spring环境(Spring Context)所需要的jar包,以及它们之间的相互依赖关系:

技术分享

Spring基础配置:

  1. IoC容器:控制反转(或者从另一个角度叫依赖注入)。
  2. AOP面向切面编程:分离横切逻辑。
  3. 声明式事务。

IoC容器 —— 控制反转(容器接管对象的管理以及对象间的依赖关系) —— Xml配置(<beans>的名称空间必须添加,不然会报错,如下):

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd">
        
    <bean id="ctest" class="test.CTest">
        <property name="value" value="10000" />
    </bean>
    <bean id="mytest" class="test.MyTest">
        <property name="it" ref="ctest" />
    </bean>
</beans>

IoC依赖注入 —— 通过容器,根据配置注入依赖属性:

测试代码:

beans(接口与实现):

//接口
package test;

public interface ITest {
    public void print();
}
//接口实现
package test;

public class CTest implements ITest {

    private int value;
    
    @Override
    public void print() {
        System.out.println(value);
    }

    public int getValue() {
        return value;
    }

    public void setValue(int value) {
        this.value = value;
    }
}

依赖注入 —— 获取bean(有两种方法):

package test;

import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MyTest {
    
    private static ApplicationContext context = null;
    //方法一:通过配置依赖关系,然后用getter、setter操作bean(这种方式只适用于static bean)
    //这里就体现了IoC的解耦和,即依赖关系由IoC管理。
    //分离了关注点:分开了,接口的实现和具体使用哪个接口的选择,以及其使用无需在此关心接口采用的哪一个实现
    private static ITest it = null;
    
    public ITest getIt() {
        return it;
    }
    public void setIt(ITest it) {
        this.it = it;
    }
    
    @BeforeClass
    public static void setUpBeforeClass() {
        System.out.println("hello");
        context = new ClassPathXmlApplicationContext("app.xml");
    }
    @AfterClass
    public static void tearDownAfterClass() {
        System.out.println("goodbye");
        if(context instanceof ClassPathXmlApplicationContext) {
            ((ClassPathXmlApplicationContext) context).destroy();
        }
    }
    /**
     * 测试获取bean的第一种方法:
     */
    @Test
    public void testOne() {
        it.print();
    }
    /**
     * 测试第二种方法:getBean
     */
    @Test
    public void testTwo() {
        //方法二:直接通过getBean方法,获得某个bean
//        ITest itest = context.getBean(CTest.class);
        ITest itest = (ITest) context.getBean("ctest");
        itest.print();
    }
}

AOP面向切面编程:

 

Spring开发

标签:str   操作   角度   添加   beans   tar   int()   his   www   

原文地址:http://www.cnblogs.com/quanxi/p/6400058.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!