What are Java Annotations ?
- special labels/markers added to java class
- provide meta-data about the class
- Processed at compile time or run time
//below annotation will make sure that you are overriding the display method.
@Override
public void display()
{
System.out.println("Hello World");
}
- Annotations minimizes the xml configurations.
Example
-----------------------------------------------------------------------------------------
BaseBallCoach.java
-----------------------------------------------------------------------------------------
package com.demo.spring;
import org.springframework.stereotype.Component;
@Component("MyCoach")
//instead of this we can use onl @Component then the bean id will be baseBallCoach
public class BaseBallCoach implements Coach {
@Override
public String getDailyWorkout() {
return "practice 30 mins daily";
}
}
-----------------------------------------------------------------------------------------
Coach.java
-----------------------------------------------------------------------------------------
package com.demo.spring;
public interface Coach {
public String getDailyWorkout();
}
-----------------------------------------------------------------------------------------
MyApp.java
-----------------------------------------------------------------------------------------
package com.demo.spring;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MyApp {
public static void main(String[] args) {
ClassPathXmlApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
Coach obj=context.getBean("MyCoach",Coach.class);
System.out.println(obj.getDailyWorkout());
context.close();
}
}
-----------------------------------------------------------------------------------------
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">
<!-- initializing component scanning -->
<context:component-scan base-package="com.demo.spring"></context:component-scan>
</beans>
-----------------------------------------------------------------------------------------
OUTPUT
-----------------------------------------------------------------------------------------
Feb 25, 2018 10:54:56 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@41975e01: startup date [Sun Feb 25 22:54:56 IST 2018]; root of context hierarchy
Feb 25, 2018 10:54:56 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [applicationContext.xml]
practice 30 mins daily
Feb 25, 2018 10:54:58 PM org.springframework.context.support.AbstractApplicationContext doClose
INFO: Closing org.springframework.context.support.ClassPathXmlApplicationContext@41975e01: startup date [Sun Feb 25 22:54:56 IST 2018]; root of context hierarchy
No comments:
Post a Comment