zoukankan      html  css  js  c++  java
  • Bean的基于注解的配置方式

    Boss.class

    import javax.annotation.PostConstruct;
    import javax.annotation.PreDestroy;
    import javax.annotation.Resource;
    import org.springframework.stereotype.Component;
    
    @Component
    public class Boss {
       public Boss(){
            System.out.println("construct...");
        }
        
        @PostConstruct
        private void init1(){
            System.out.println("execute in init1");
        }
        
        @PostConstruct
        private void init2(){
            System.out.println("execute in init1");
        }
        
        @PreDestroy
        private void destory1(){
            System.out.println("execute in destory1");
        }
        
        @PreDestroy
        private void destory2(){
            System.out.println("execute in destory2");
        }
    
    }

    配置文件:

    <?xml version="1.0" encoding="UTF-8" ?>
    <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-4.0.xsd
             http://www.springframework.org/schema/context
             http://www.springframework.org/schema/context/spring-context-4.0.xsd"
             >
       <context:component-scan base-package="com.smart.anno"/>      扫描类包以应用注解定义的Bean
    </beans>

    测试:

    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    import org.testng.annotations.*;
    import  static  org.testng.Assert.*;
    
    
    public class AnnoAutowireTest{
        public ApplicationContext factory = null;
        private static String[] CONFIG_FILES = { "com/smart/anno/beans.xml" };
    
        @BeforeMethod
        public void setUp() throws Exception {
            factory = new ClassPathXmlApplicationContext(CONFIG_FILES);
        }
    
        @Test
        public void testAutoByName(){
            Boss boss = (Boss) factory.getBean("boss");
            assertNotNull(boss);
    
        }   
    }
  • 相关阅读:
    Python基础知识随手记
    Java异常笔记整理
    LDAP笔记
    IntelliJ IDEA14导入项目
    字符编码
    认识显示器接口..
    4GB的内存条在32位系统中只能显示为3GB左右的原因(转)
    Velocity截取字符串.
    veloeclipse插件安装
    Velocity使用
  • 原文地址:https://www.cnblogs.com/lwx521/p/7774638.html
Copyright © 2011-2022 走看看