1 Spring Bean 装配之Bean的定义及其作用域的注解实现

image-20181210212840333

image-20181210212954628

image-20181210213111856


image-20181210213147485

image-20181210213253867


image-20181210213322203

image-20181210213411097

​ < context:component-scan>

image-20181210213546087


image-20181210213758849



image-20181210214149896


--image-20181210214351012


例子

1
2
3
<context:component-scan base-package="bean.BeanAnnotation">

<context:component-scan/>
1
2
3
4
5
6
7
package bean;
@Component
public class BeanAnnotation {
public void say(){
System,out.print("Hello Spring");
}
}
1
2
3
4
    @Test
BeanAnnotation bean=super.getBean("beanAnnotation");//类名小写
bean.say("This is Tese");
}

image-20181210215434002

image-20181210215444940

image-20181210215454617


2 Spring装配 基于java容器的注解说明 @importResource和@Value

image-20190101111946848

image-20190101112114768


1
2
3
4
5
6
7
8
9
public class MyDriverManager {

public MyDriverManager(String url, String userName, String password) {
System.out.print(url);
System.out.print(userName);
System.out.print(password);

}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

@Configuration
@ImportResource("classpath:config.xml")
public class StoreConfig {

@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;

@Bean
public MyDriverManager myDriverManager() {
return new MyDriverManager(url, username, password);
}

}
1
2
3
4
5
6
7
8
public class Test {

@Test
public void testMyDreiverManager() {
MyDriverManager myDriverManager = super.getBean("myDriverManager");
myDriverManager.getClass().getName();
}
}
  • 1
    2
    3
    jdbc.password=root
    jdbc.url=127.0.0.1
    jdbc.username=root

image-20190101115330544

image-20190101115349310

image-20190101115400511

image-20190101115417555


3@Bean 和@Scope

image-20190101115501261


image-20190101115548740

image-20190101115657205


4基于泛型的自动装配

image-20190101115805123


Aware 和Autowiring

image-20190101120529150

image-20190101120624727

image-20190101120721469

image-20190101120731878

image-20190101120803833