使用注解的方式来定义bean的作用域 即实现单例或原型

第一步:新建工程   SecondSpring

文件目录结构如下:

 

第二步:导入相应的spring  jar包

略...

 

第三步: 新建类

AnnotationTest.java

package com.xuzhiwen.spring4;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;


@Service
@Scope("singleton")
public class AnnotationTest {
    public String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

 

第四步: 新建配置文件

common.xml

<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-2.5.xsd">
<import resource
="xmlfolder/app1.xml" /> <import resource="xmlfolder/innerbean.xml" /> <import resource="xmlfolder/singleton.xml" /> <import resource="xmlfolder/annotation.xml" />
</beans>

 

第五步:新建配置文件

annotation.xml

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-2.5.xsd">
    
    <context:component-scan base-package="com.xuzhiwen.spring4" />
    
</beans>    

 

第六步: 编写测试类

package com.xuzhiwen.spring4;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
    public static void main(String[] args) {
        ApplicationContext app = new ClassPathXmlApplicationContext("common.xml");
        AnnotationTest test1 = (AnnotationTest) app.getBean("annotationTest");
        test1.setName("helloworld");
        
        
        AnnotationTest test2 = (AnnotationTest) app.getBean("annotationTest");
        System.out.println(test2.getName());
    }
}

 

第七步:运行结果如下

 

注: 同理可实现原型

posted @ 2017-08-18 14:25  beibidewomen  阅读(1194)  评论(0编辑  收藏  举报