随笔都是学习笔记
随笔仅供参考,为避免笔记中可能出现的错误误导他人,请勿转载。

在javaConfig配置类中注入两个Bean:

package cn.cdulm;

import cn.cdulm.bean.Role;
import cn.cdulm.bean.User;
import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.*;

// 标记一个spring配置类
// 相当于一个xml<beans>标签中的内容
@Configuration
@ComponentScan(basePackages = "cn.cdulm")   // ==<context:component-scan base-package="cn.cdulm">
@PropertySource({"classpath:db.properties"})
@Import(SecondJavaConfig.class)
public class IocJavaConfig {
    @Value("${mysql.username}")
    private String username;
    /**
     * 注入druid数据库连接池对象,返回连接池对象类型,方法名就是xml配置中的id,其余属性在方法中set
     * @return
     */
    @Bean
    public DruidDataSource dataSource(){   // 将依赖的bean注入方法的参数中
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setName(username);
        dataSource.setPassword("747699");
        dataSource.setUrl("jdbc:mysql://localhost:3306/db1");
        dataSource.setDriverClassName("com.mysql.jdbc.Driver");
        return dataSource;
    }
    @Bean
    public User user1(){
        return new User();
    }
}

依赖内部Bean直接去调用另一个Bean的方法就行了:

 

 输出结果:

 

 

User已加载!
cn.cdulm.bean.User@35e2d654
{
	CreateTime:"2022-05-31 10:33:56",
	ActiveCount:0,
	PoolingCount:0,
	CreateCount:0,
	DestroyCount:0,
	CloseCount:0,
	ConnectCount:0,
	Connections:[
	]
}

User的构造器:

 

 说明User类实例化成功。

 

posted on 2022-05-31 10:40  时间完全不够用啊  阅读(146)  评论(0编辑  收藏  举报