image-20181204174041317

image-20181204174051534

image-20181204174105896

image-20181204174203775

image-20181204174242759

image-20181204174336075

image-20181204174414473


Spring Awre

image-20181210182021661

1
2
3
4
5
6
7
8
9
public class MoocApplicationContext implements ApplicationContextAware  {

@Override
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
System.out.println("MoocApplicationContext : " + applicationContext.getBean("moocApplicationContext").hashCode());
}

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class MoocBeanName implements BeanNameAware, ApplicationContextAware {

private String beanName;

@Override
public void setBeanName(String name) {
this.beanName = name;
System.out.println("MoocBeanName : " + name);
}

@Override
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
System.out.println("setApplicationContext : " + applicationContext.getBean(this.beanName).hashCode());
}

}

Autowiring

image-20181210182721723

1
2
3
4
5
6
7
public class AutoWiringDAO {

public void say(String word) {
System.out.println("AutoWiringDAO : " + word);
}

}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class AutoWiringService {

private AutoWiringDAO autoWiringDAO;

public AutoWiringService(AutoWiringDAO autoWiringDAO) {
System.out.println("AutoWiringService");
this.autoWiringDAO = autoWiringDAO;
}

public void setAutoWiringDAO(AutoWiringDAO autoWiringDAO) {
System.out.println("setAutoWiringDAO");
this.autoWiringDAO = autoWiringDAO;
}

public void say(String word) {
this.autoWiringDAO.say(word);
}

}
1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd"
default-autowire="constructor">

<bean id="autoWiringService" class="com.imooc.autowiring.AutoWiringService" ></bean>

<bean class="com.imooc.autowiring.AutoWiringDAO" ></bean>

</beans>

image-20181210183603337

image-20181210183627336

image-20181210183707965

image-20181210184059831