配置类 · 注解@Value ·以及如何引用其他的 ioc 组件
@Configuration
@ComponentScan(basePackages = {"com.wind.dao", "com.wind.service"})
@PropertySource(value = "classpath:jdbc.properties")
public class JavaConfiguration {
@Value("${wind.url}")
private String url;
@Value("${wind.drive}")
private String drive;
@Value("${wind.username}")
private String username;
@Value("${wind.password}")
private String password;
@Bean
public DruidDataSource dataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUrl(url);
dataSource.setDriverClassName(drive);
dataSource.setUsername(username);
dataSource.setPassword(password);
return dataSource;
}
@Bean
public DruidDataSource dataSource1(@Value("${wind.url}") String url, @Value("${wind.driver}") String drive,
@Value("${wind.username}") String username,
@Value("${wind.password}") String password) {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUrl(url);
dataSource.setDriverClassName(drive);
dataSource.setUsername(username);
dataSource.setPassword(password);
return dataSource;
}
@Bean
public JdbcTemplate jdbcTemplate1() {
JdbcTemplate jdbcTemplate = new JdbcTemplate();
jdbcTemplate.setDataSource(dataSource());
return jdbcTemplate;
}
@Bean
public JdbcTemplate jdbcTemplate2(DataSource dataSource) {
JdbcTemplate jdbcTemplate = new JdbcTemplate();
jdbcTemplate.setDataSource(dataSource);
return jdbcTemplate;
}
}
点我查看结果
public class ReplaceXml {
@Test
public void test() {
ApplicationContext applicationContext =
new AnnotationConfigApplicationContext(JavaConfiguration.class);
AnnotationConfigApplicationContext annotationConfigApplicationContext =
new AnnotationConfigApplicationContext();
annotationConfigApplicationContext.register(JavaConfiguration.class);
annotationConfigApplicationContext.refresh();
UserService bean = applicationContext.getBean(UserService.class);
System.out.println(bean);
}
}

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现