在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的方法就行了:
输出结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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类实例化成功。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)