All IT Courses 50% Off
JAVA Tutorials

Spring Annotations Configuration

It is a Java-based configuration option that enables you to write the most of your Spring configuration without using XML but with the help of few Java-based annotations. The Spring annotation wiring is not turned on in Spring Framework. Therefore, you need to enable it before you can use the Spring annotation-based wiring in the Spring Configuration file. 

Below is the configuration file in case you want to use Annotation in your application:

  • @Configuration and @Bean Annotations

By using annotations, Annotating a class using @Configuration, which will indicate that the class is managed by the Spring IoC container as a source of bean definitions. 

The other one @Bean Annotation which inform Spring that a method which annotated herewith @Bean

@Configuration

public class HelloWorldDemo {

   @Bean 

   public Hello hello(){

      return new Hello();

   }

}

Here, @Bean it works as bean ID

<beans>
   <bean id = "hello" class = "com.demo.Hello" />
</beans> 

public static void main(String[] arg) {
   ApplicationContext cnt = new AnnotationConfigApplicationContext(HelloWorldDemo.class);
      Hello hello= cnt.getBean(Hello.class);
   hello.setMessage("Hello !");
   hello.getMessage();
}

Here, we can load various configuration classes as follows

public static void main(String[] args) {
   AnnotationConfigApplicationContext cnt = new AnnotationConfigApplicationContext();
   cnt.register(AppConfig.class, OtherConfig.class);
   cnt.register(AdditionalConfig.class);
   cnt.refresh();

   MyService myService = cnt.getBean(MyService.class);
   myService.doStuff();
}

@Configuration
public class HelloWorldDemo {
   @Bean 
   public Hello hello(){
      return new Hello();
   }
}

Here is the content of HelloDemo.java file

public class HelloDemo{
   private String message;
   public void setMessage(String message){
      this.message  = message;
   }
   public void getMessage(){
      System.out.println("Your Message : " + message);
   }
}
Following is the content of the MainDemo.java file
public class MainDemo {
   public static void main(String[] args) {
      ApplicationContext cnt =  new AnnotationConfigApplicationContext(HelloWorldDemo.class);
   
      Hello hello= cnt.getBean(Hello.class);
      hello.setMessage("Hello!");
      hello.getMessage();
   }
}

Your Message: Hello!

Now, Injecting the Bean Dependencies

@Configuration
public class AppConfigDemo {
   @Bean
   public Fun fun() {
   return new Fun(bar());
   }
   @Bean
   public Foo far() {
      return new Foo();
   }
}

Here, the fun bean receives a reference to foo via the constructor injection.

Facebook Comments
Tags

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Related Articles

Back to top button
Close
Close

Get Java Training Online
Course Now at 50%OFF!

Offer valid for 1st 20 seats only, Hurry up!!

You have successfully subscribed to the newsletter

There was an error while trying to send your request. Please try again.

H2kinfosys will use this information to be in touch with you for providing updates.

Get Python Course
worth 499$ for FREE!

Offer valid for 1st 20 seats only, Hurry up!!

You have successfully subscribed to the newsletter

There was an error while trying to send your request. Please try again.

H2kinfosys Blog will use the information you provide on this form to be in touch with you and to provide updates and marketing.