@PostConstruct and @PreDestroy notes:
You can use @PostConstruct annotations as an alternative to the initialization callback function, @PreDestroy comment as an alternative to destroying the callback function, as explained in the following example.
Java
Public classHelloWorld {PrivateString message; Public voidsetmessage (String message) { This. Message =message; } PublicString getMessage () {System.out.println ("Your Message:" +message); returnmessage; } @PostConstruct Public voidinit () {System.out.println ("Bean is going through init."); } @PreDestroy Public voiddestroy () {System.out.println ("Bean would destroy now."); }}
Beans.xml
<id= "HelloWorld" class= " Com.tutorialspoint.autowire.jsr.HelloWorld "><name=" message " value=" Hello world! " /> </ Bean >
@Resource notes:
@Resource Note Use a ' name ' property, which is injected as a bean name. You can say that it follows the By-name automatic connection semantics
If a ' name ' is not explicitly specified, the default name is derived from the field name or Setter method.
Public classTextEditor {Privatespellchecker spellchecker; @Resource (Name= "Spellchecker") Public voidSetspellchecker (spellchecker spellchecker) { This. Spellchecker =spellchecker; } Publicspellchecker Getspellchecker () {returnspellchecker; } Public voidspellcheck () {spellchecker.checkspelling (); }}
Spring also uses JSR-250-based annotations, which include @PostConstruct, @PreDestroy, and @Resource annotations