使用Java的方式配置spring
我们现在完全不使用spring的xml配置了,全权交给Java来做!
JavaConfig是spring的一个子项目,在spring4之后,它成为一个核心功能!
1.实体类
package top.lostyou.pojo;
import org.springframework.beans.factory.annotation.Value;
public class User {
@Value("msf")
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
2.配置类(JavaConfig)
package top.lostyou.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import top.lostyou.pojo.User;
//这个注释也会移交给spring托管,注册到容器中,因为它本身就是一个 @Component
//@Configuration 代表这是一个配置类,就和我们之前看的 beans.xml 一样
@Configuration
//自动扫描包
@ComponentScan("top.lostyou.pojo")
//导入配置类
@Import(MsfConfig2.class)
public class MsfConfig {
//注册一个bean ,就相当于我们之前写的以一个bean标签
// 这个方法的名字,就相当于bean标签中的id 属性
// 这个方法的返回值,就相当于bean标签中的class属性
@Bean
public User inUser(){
return new User(); //就是返回值要注入到bean 的对象!
}
}
3.测试
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import top.lostyou.config.MsfConfig;
import top.lostyou.pojo.User;
public class ourTest {
public static void main(String[] args) {
//如果完全使用了配置类的方式去做,我们就只能通过AnnotationConfig 上下文来获取容器,通过配置类的class对象加载!
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(MsfConfig.class);
User inUser = context.getBean("inUser", User.class);
System.out.println(inUser.getName());
}
}
这种JavaConfig的配置类方式,在以后的springBoot中随处可见,就当是做了一个预习,以后学习的重点!!!!