目录
这种纯Java的配置方式,在SpringBoot中随处可见!
一、环境搭建
第一步:新建Moudle,并创建实体类User
package com.zibo.pojo;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class User {
private String name;
public String getName() {
return name;
}
@Value("訾博")
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
'}';
}
}
第二步:编写配置类
package com.zibo.config;
import com.zibo.pojo.User;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration //这个类也会被spring ioc容器接管
public class AppConfig {
//注册一个Bean就相当于我们之前写的Bean
@Bean
public User getUser(){
return new User();
}
}
第三步:编写测试类
package com.zibo;
import com.zibo.config.AppConfig;
import com.zibo.pojo.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class MyTest {
public static void main(String[] args) {
//如果完全是使用了配置类进行配置,我们就必须通过AnnotationConfigApplicationContext来加载配置
ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);
User user = context.getBean("getUser", User.class);
System.out.println(user.getName());
}
}
测试结果:
訾博
二、@Import导入其他配置类
第一步:创建另一个配置类
package com.zibo.config;
import org.springframework.context.annotation.Configuration;
@Configuration
public class AppConfig2 {
}
第二步:将AppConfig2导入到AppConfig
package com.zibo.config;
import com.zibo.pojo.User;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
@Configuration //这个类也会被spring ioc容器接管
@Import(AppConfig2.class)
public class AppConfig {
//注册一个Bean就相当于我们之前写的Bean,id为方法名getUser
@Bean
public User getUser(){
return new User();
}
}
这种纯Java的配置方式,在SpringBoot中随处可见!
三、@ImportResource导入xml配置
package com.zibo.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;
@Configuration
@ImportResource("classpath:beans.xml")
public class AppConfig {
}