且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

spring-使用注解实现Bean初始化与销毁

更新时间:2022-09-30 09:58:04

一、创建项目
    项目名称:spring100804
二、在项目中添加spring 支持
    1.在项目中创建lib目录
        /lib
    2.在lib目录下添加jar包
        commons-logging.jar
        junit-4.10.jar
        log4j.jar
        spring-beans-3.2.0.RELEASE.jar
        spring-context-3.2.0.RELEASE.jar
        spring-core-3.2.0.RELEASE.jar
        spring-expression-3.2.0.RELEASE.jar
三、在项目中添加配置文件
    1.在项目中创建conf目录
        /conf
    2.在conf目录添加配置文件
        配置文件名称:applicationContext.xml
        配置文件内容:
        <?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.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
        </beans>
四、相关bean的创建
    1.在src目录下创建dao
        包名:cn.jbit.spring100801.domain
        类名:Student.java
        类中内容:
        //相当于声明了一个bean,bean id叫student
        @Component("student")
        public class Student {
            /**
             * 初始化方法
             */
            @PostConstruct
            public void init(){
                System.out.println("init");
            }
            
            /**
             * 销毁方法
             */
            @PreDestroy
            public void destory(){
                System.out.println("destory");
            }
        }
    2.在配置文件中配置注解扫描和注解解析
        <!-- 通知spring解析常用的注解 -->
        <context:annotation-config/>
        <!-- 通知spring应用注解bean所在位置 -->
        <context:component-scan base-package="cn.jbit.spring100801.domain"></context:component-scan>
五、测试
    1.在项目中创建test目录
        /test
    2.在test目录下创建测试包
        包名:cn.jbit.spring100801.domain    
    3.在包下创建测试类
        类名:StudentTest.java
        内容:
        /**
         * 测试初始化与销毁类
         * @author Administrator
         *
         */
        public class StudentTest {
            @Test
            public void testInitAndDestory(){
                ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
                Student student = (Student) context.getBean("student");
                context.close();
            }
        }