chapter03/bean-autowiring
package com.apress.prospring5.ch3.annotated;
import org.springframework.stereotype.Component;
/**
* Created by iuliana.cosmina on 2/22/17.
*/
@Component("gopher")
public class Guitar {
public void sing(){
System.out.println("Cm Eb Fm Ab Bb");
}
}
package com.apress.prospring5.ch3.annotated;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.annotation.DependsOn;
import org.springframework.stereotype.Component;
/**
* Created by iuliana.cosmina on 2/22/17.
*/
@Component("johnMayer")
@DependsOn("gopher")
public class Singer implements ApplicationContextAware{
ApplicationContext applicationContext;
@Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.applicationContext = applicationContext;
}
private Guitar guitar;
public Singer(){
}
public void sing() {
guitar = applicationContext.getBean("gopher", Guitar.class);
guitar.sing();
}
}
<?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">
<context:component-scan
base-package="com.apress.prospring5.ch3.annotated"/>
</beans>
package com.apress.prospring5.ch3.annotated;
import org.springframework.context.support.GenericXmlApplicationContext;
/**
* Created by iuliana.cosmina on 2/23/17.
*/
public class AnnotatedDependsOnDemo {
public static void main(String... args) {
GenericXmlApplicationContext ctx = new GenericXmlApplicationContext();
ctx.load("classpath:spring/app-context-02.xml");
ctx.refresh();
Singer johnMayer = ctx.getBean("johnMayer", Singer.class);
johnMayer.sing();
ctx.close();
}
}
网友评论