Mega Code Archive

 
Categories / Java / Spring
 

Annotation Scope

File: context.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"        xmlns:context="http://www.springframework.org/schema/context"        xmlns:aop="http://www.springframework.org/schema/aop"        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                 http://www.springframework.org/schema/context                 http://www.springframework.org/schema/context/spring-context.xsd                 http://www.springframework.org/schema/aop                 http://www.springframework.org/schema/aop/spring-aop.xsd">     <aop:aspectj-autoproxy />     <context:component-scan base-package="bean">         <context:include-filter type="annotation" expression="org.aspectj.lang.annotation.Aspect"/>     </context:component-scan> </beans> File: Main.java import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import bean.Helper; import bean.HelperDemo; public class Main {   public static void main(String[] args) throws Exception {     ApplicationContext ac = new ClassPathXmlApplicationContext(         "context.xml");     HelperDemo hd1 = (HelperDemo) ac.getBean("helperDemo");     hd1.someOperation();     System.out.println(hd1);     HelperDemo hd2 = (HelperDemo) ac.getBean("helperDemo");     hd2.someOperation();     System.out.println(hd2);     Helper helper = (Helper) ac.getBean("helper");     System.out.println(helper);   } } File: Helper.java package bean; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; @Component("helper") @Scope(BeanDefinition.SCOPE_PROTOTYPE) public class Helper {     private int count;     public void work() {         this.count++;     }     @Override     public String toString() {         final StringBuilder sb = new StringBuilder();         sb.append("Helper");         sb.append("{count=").append(count);         sb.append('}');         return sb.toString();     } } File: HelperDemo.java package bean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; @Component @Scope(BeanDefinition.SCOPE_PROTOTYPE) public class HelperDemo {     @Autowired     private Helper helper;     public void setHelper(Helper helper) {         this.helper = helper;     }     public void someOperation() {         this.helper.work();     }     @Override     public String toString() {         final StringBuilder sb = new StringBuilder();         sb.append("HelperDemo");         sb.append("{helper=").append(helper);         sb.append('}');         return sb.toString();     } }                     Spring-AnnotationScope.zip( 4,452 k)