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);
    
        }   
    }
  • 相关阅读:
    Java设计模式之原型模式
    Java设计模式之单例模式
    Java设计模式之抽象工厂模式
    Java设计模式之工厂方法模式
    redis常用配置参数详解
    Maven版本的ssm框架项目常见依赖pom.xml
    Maven中setting.xml配置Demo
    Linux中安装jdk
    Linux中查看jdk安装目录、Linux卸载jdk、rpm命令、rm命令参数
    Hibernate主键生成策略
  • 原文地址:https://www.cnblogs.com/lwx521/p/7774638.html
Copyright © 2011-2022 走看看