轻松入门springboot之自动配置
【摘要】 自动配置 javaconfigspring中Bean的配置⽅式的 :Xml配置⽅式Annotation配置⽅式启用 Annotaion 配置设置组件扫描与 Bean 命名设置组件扫描的基础包设置组件扫描的基础包JavaConfig配置⽅式springboot中推荐使⽤JavaConfig的配置⽅式,可通过⼀个具体的例⼦了解JavaConfig的使⽤。例如: springboot-javac...
自动配置
javaconfig
spring中Bean的配置⽅式的 :
-
Xml配置⽅式
-
Annotation配置⽅式
启用 Annotaion 配置
设置组件扫描与 Bean 命名
设置组件扫描的基础包
设置组件扫描的基础包
- JavaConfig配置⽅式
springboot中推荐使⽤JavaConfig的配置⽅式,可通过⼀个具体的例⼦了解JavaConfig的使⽤。
例如: springboot-javaconfig项⽬
User和Group类要配置到spring容器中,如果是xml⽅式的话,就是在xml中配置bean标签即可,如果是annotation⽅式的话,在类上⾯加⼊@Component注解即可,如果是JavaConfig⽅式的话,编写⼀个java的配置类即可,例如下⾯的AppConfig.java
User类:
public class User {
private long id;
private String name;
private Group group;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Group getGroup() {
return group;
}
public void setGroup(Group group) {
this.group = group;
}
}
Group类:
public class Group {
private long id;
private String name;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
注意:User和Group这俩个类,既没有配置xml中的bean标签,也没有给这俩个类上加@Component注解
JavaConfig类:
package com.briup.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.briup.bean.Group;
import com.briup.bean.User;
@Configuration
public class AppConfig {
@Bean
public User user(Group group) {
User user = new User();
user.setGroup(group);
return user;
}
@Bean
public Group group() {
return new Group();
}
}
该配置类放到springboot⼊⼝类的包下或者其⼦包下,会被⾃动扫描读取到,其本质上和xml配置以及
annotation配置的原理是⼀样的,只是变了另⼀种形式。
测试类:
package com.briup.demo;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import com.briup.bean.User;
@SpringBootTest
class DemoApplicationTests {
@Autowired
private User user;
@Test
void contextLoads() {
System.out.println(user);
System.out.println(user.getGroup());
}
}
直接使⽤junit的测试⽅式运⾏contextLoads⽅法即可:
从结果中可以看出,user对象以及user⾥⾯关联的group对象都可以获取的到。
这个测试的⼤致过程是:
注意,和⼊⼝类同包或⼦包下⾯的配置类可以被⾃动扫描到并读取
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)