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

一、创建项目
    项目名称: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();
            }
        }

时间: 2024-07-31 14:08:38

spring-使用注解实现Bean初始化与销毁的相关文章

Spring中Bean初始化和销毁方法的几种配置方式

在Bean的生命周期中,Spring可以设置在Bean初始化之后以及在销毁之前要执行的方法. 主要设置方式有以下几种: 通过实现InitializingBean/DisposableBean 接口并重写afterPropertiesSet()/destroy()方法: 通过<bean> 标签的 init-method/destroy-method属性指定: 通过在指定方法上加@PostConstruct或@PreDestroy注解来指定: 通过<beans>标签的 default-

(002)spring容器中bean初始化、销毁时执行的方法及其3种实现方式

spring容器中bean初始化或者销毁时会执行一些方法,有3种实现方式. 1.实现InitializingBean.DisposableBean接口,在bean的属性设置后和bean销毁时分别执行afterPropertiesSet和destroy方法 pom.xml文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/

Spring 通过注解定义Bean以及自动扫描注解定义的bean ComponentScan 自动扫描组件&amp;指定扫描规则

不管是xml还是注解,他们都是表达bean定义的载体,其实质都是为Spring容器提供Bean定义的信息,在表现形式上都是讲xml定义的内容通过类注解进行描述. Spring容器成功启动的三大要件分别为:bean定义信息,bean实现类,spring本身. 如果采用基于xml的配置,则bean定义信息和bean实现类本身是分离的:而如果采用基于注解的配置文件,则bean定义信息通过在bean实现类上标注注解实现. @Controller:用于对Controller实现类进行标注 @Reposit

Spring中Bean初始化及销毁方法(InitializingBean接口、DisposableBean接口、@PostConstruct注解、@PreDestroy注解、以及init-method方法和destroy-method方法)

一. 在Spring中Bean的初始化后以及销毁前的回调方式有: init-method:是指创建bean时调用的方法,注意,不是创建bean的方法. destroy-method:是指销毁bean时调用的方法,同样,不是销毁bean的方法. @PostConstruct注解:在bean实例化和注入后,进行初始化 @PreDestroy:在bean销毁前回调 InitializingBean接口: 查看InitializingBean接口的源码可以发现,只有一个方法,需要pojo继承Initia

spring bean初始化和销毁

当实例化一个bean时,可能需要执行一些初始化操作来确保该bean处于可用状态.当不在需要bean的时候,将其从容器中移除时候,我们可能会执行一些清理的工作. 1.spring提供了:InitializingBean和DisposableBean接口 Spring容器以特殊的方式对待实现这两个接口的bean,容许他们进入bean的生命周期. 看下例子: public class TestSpring implements InitializingBean,DisposableBean { //初

Spring 容器里的bean初始化回调方法研究(一)

@Author xiejun @Since 2015/10/24 感慨一下,曾经某内的讲师说spring bean的创建讲三天三夜也说不完,这种空话听的耳朵 起茧了,却还是不停地被人repeat,究其原因,o(︶︿︶)o 唉确实有的研究. **** 米字符号中是业务剥离 业务介绍: 系统a需要从另一个系统b批量获取到单号,然后存入数据库,当到使用时,a系统将单号与绑定信息回传给b系统. 在这个业务中可以把获取和存入数据库做成一个单独的服务,在后台线程中自动运行.介绍一下实现: 在容器初始化级别的

Spring通过注解配置Bean

@Component: 基本注解, 标识了一个受 Spring 管理的组件@Repository: 标识持久层组件@Service: 标识服务层(业务层)组件@Controller: 标识表现层组件 配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=&qu

[学习笔记]Spring注解实现Bean

12.3  注解实现Bean定义 12.3.1  概述 前边介绍的Bean定义全是基于XML方式定义配置元数据,且在[12.2注解实现Bean依赖注入]一节中介绍了通过注解来减少配置数量,但并没有完全消除在XML配置文件中的Bean定义,因此有没有方式完全消除XML配置Bean定义呢? Spring提供通过扫描类路径中的特殊注解类来自动注册Bean定义.同注解驱动事务一样需要开启自动扫描并注册Bean定义支持,使用方式如下(resources/chapter12/ componentDefini

spring利用注解来注册bean到容器

1.spring利用注解来定义bean,或者利用注解来注册装配bean.包括注册到ioc中,装配包括成员变量的自动注入. 1.spring会自动扫描所有类的注解,扫描这些注解后,spring会将这些bean注册到ioc容器中.省去了xml文件的书写bean方法. 2.spring会自动扫描这些注解,spring会自动扫描这些注解. 配置<context:component-sacn base-package="xxxx">后,spring就会自动扫描注解.扫描指定包下所有内