Spring,Springboot启动时,所有被扫描到的bean都会加载到内存中吗

Spring,Springboot启动时,所有被扫描到的bean都会加载到内存中吗?

在这里插入 @Autowired
    TShiftEvaluateMapper tShiftEvaluateMapper;
    @Autowired
    TShiftResultsMapper tShiftResultsMapper;
    @Autowired
    TShiftPlanMapper tShiftPlanMapper;代码片

没有加@Component或者其他注入@的报错,运行没问题
其实没必要加,所有加了的,项目启动就会扫描到内存中,

Spring Boot,可以通过使用初始化方法或者实现CommandLineRunner接口的方式来在应用启动时加载数据到内存。 首先,我们可以在一个上使用`@Component`注解或者实现`InitializingBean`接口,然后重写其`afterPropertiesSet()`方法,在该方法可以编写加载数据的逻辑。当Spring容器初始化该时,`afterPropertiesSet()`方法自动被调用。 ```java @Component public class DataLoader implements InitializingBean { @Autowired private DataRepository dataRepository; @Override public void afterPropertiesSet() throws Exception { // 在这里编写加载数据到内存的逻辑 List<Data> dataList = loadDataFromDatabase(); dataRepository.loadDataToMemory(dataList); } private List<Data> loadDataFromDatabase() { // 从数据库查询数据 // ... } } ``` 另外一种方式是实现`CommandLineRunner`接口,在该接口的`run()`方法编写加载数据的逻辑。Spring Boot启动时扫描实现了`CommandLineRunner`接口的Bean并自动调用其`run()`方法。 ```java @Component public class DataLoader implements CommandLineRunner { @Autowired private DataRepository dataRepository; @Override public void run(String... args) throws Exception { // 在这里编写加载数据到内存的逻辑 List<Data> dataList = loadDataFromDatabase(); dataRepository.loadDataToMemory(dataList); } private List<Data> loadDataFromDatabase() { // 从数据库查询数据 // ... } } ``` 以上示例,我们通过`DataRepository`组件将从数据库查询的数据加载到了内存,可以根据实际需求进行调整。通过以上两种方式,我们可以在Spring Boot应用启动时加载数据到内存,以便后续的业务逻辑使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值