目录
前言
一、使用Java配置Spring
前言
使用纯Java的配置方式,在SpringBoot中随处可见,是必须要学习的
一、使用Java配置Spring
配置Spring有多种方式,我们现在要完全不使用Spring的xml配置了,全权交给Java来做!
JavaConfig是Spring的一个子项目,在Spring4之后,它成为了一个核心功能!
使用注解的方式完成配置
实体类
//这里这个注解的意思,就是说明这个类被Spring接管了,注册到了容器中
@Component
public class User {private String name;public String getName() {return name;}@Value("埼玉") //属性注入值public void setName(String name) {this.name = name;}@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +'}';}
}
配置文件
- @Configuration:这是一个配置类,就和我们之前看的beans.xml,这个也会Spring容器托管,注册到容器中,因为它本来就是一个@Component
- @ComponentScan("com.zlh.config"):扫描包内的Bean
- @Import(Configuration.class):导入其他Java配置类
- @Bean:将方法的返回值注册为Bean,可以用于导入第三方对象
// 这个也会Spring容器托管,注册到容器中,因为它本来就是一个@Component
// @Configuration代表这是一个配置类,就和我们之前看的beans.xml
@Configuration
@ComponentScan("com.zlh.config")
@Import(Configuration.class)
public class AppConfig {// 注册一个bean,就相当于我们之前写的一个bean标签// 这个方法的名字,就相当于bean标签中id属性// 这个方法的返回值,就相当于bean标签中的class属性@Beanpublic User user(){return new User(); // 就是返回要注入到bean的对象!}}
测试类
public class MyTest {public static void main(String[] args) {AnnotationConfigApplicationContext context= new AnnotationConfigApplicationContext(AppConfig.class);User user = context.getBean("user", User.class);System.out.println(user);}}
这里如果有同学获取Bean出错,可以留意一下spring-core版本
<dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>5.3.10</version>
</dependency>
这种纯Java的配置方式,在SpringBoot中随处可见!