javanoob
javanoob

Reputation: 6412

@PostConstruct method is not called in Spring

SampleBean:

package com.springexample;

import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;

public class SampleBean {

    private BeanTypeOne beanOne;

    private BeanTypeTwo beanTwo;

    public void init() {

        System.out.println("This is from the init() method");
    }

    @PostConstruct
    public void initAnnotation() {

        System.out.println("This is from the initAnnotation() method");

    }

and config file like this :

<bean id="SampleBean" class="com.springexample.SampleBean">
    <property name="beanOne" ref="beanOneOne"></property>
    <property name="beanTwo" ref="beanTwoOne"></property>
</bean>

And I don't have default-init-method attribute set on the beans tag.

Can any body tell why the @PostConstruct method does not get called.

Upvotes: 23

Views: 24842

Answers (1)

axtavt
axtavt

Reputation: 242786

You need <context:annotation-config/> (or <context:component-scan/>) to enable @PostConstruct handling.

Upvotes: 44

Related Questions