JavaConfig实现配置

JavaConfig实现配置

如果我们使用JavaConfig实现配置,那么我们就不需要使用xml文件对Spring进行配置了;

JavaConfig进行配置时和注解配合使用的

JavaConfig的使用过程

  • 创建一个javaConfig类
  • @Configuation注解表示该类是我们的JavaConfig类

武装到牙齿的config类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package com.dwx.config;


import com.dwx.pojo.User;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan("com.dwx.pojo")
public class DwxConfig {

@Bean
public User getUser(){
return new User();
}
}

注解分析:

  • @Configuration:表示我们这个类类似于xml文件
  • @ComponentScan("包名"):表示原来xml中的<context:ComponentScan base-package="包名">
  • @Bean:表示<bean id="" class=""/>其中这个方法的方法名是bean的id,返回值类型表示bean的class

我们使用注解包装的pojo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package com.dwx.pojo;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class User {
@Value("dwx")
private String name;

public User(String name) {
this.name = name;
}

public User() {
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
'}';
}
}

我们的测试类:

1
2
3
4
5
6
7
8
9
10
11
12
13
import com.dwx.config.DwxConfig;
import com.dwx.pojo.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class MtTest {
public static void main(String[] args) {
ApplicationContext context = new AnnotationConfigApplicationContext(DwxConfig.class);
User getUser = (User) context.getBean("getUser");
System.out.println(getUser);
}
}

注意:因为我们彻底的摆脱了xml配置,因此在获取contest时,我么使用的是:

new AnnotationConfigApplicationContext(XXConfig.class)

其中他的参数是一个class类即我们的config的class属性

bean的id就是我们的方法名

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2015-2023 dwx
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信