# 第一种方式 (不推荐)
# @ComponentScan: 扫描式
1. 导入 druid 的 pom 依赖
pom.xml
<dependency> | |
<groupId>com.alibaba</groupId> | |
<artifactId>druid</artifactId> | |
<version>1.2.8</version> | |
</dependency> |
- SpringConfig
@SuppressWarnings("all") | |
@Configuration | |
@ComponentScan("com.dkx.spring") | |
public class SpringConfig { | |
} |
在该类中使用注解 @ComponentScan 来扫描 JdbcConfig 配置类否则 Spring 工厂获取 Bean 时因找不到 DataSource 则会报错
- JdbcConfig
<font style="color:red"> 注意:</font> 使用 @Configuraion 注解来配置当前类为配置类
@SuppressWarnings("all") | |
@Configuration | |
public class JdbcConfig { | |
// 1. 定义一个方法获得管理的对象 | |
// 2. 添加 @Bean 表示当前方法返回值是一个 bean | |
@Bean("druid") | |
public DataSource getDataSource(){ | |
DruidDataSource druidDataSource = new DruidDataSource(); | |
druidDataSource.setDriverClassName("com.mysql.cj.jdbc.Driver"); | |
druidDataSource.setUrl("jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8&serverTimezone=UTC"); | |
druidDataSource.setUsername("root"); | |
druidDataSource.setPassword("dkx"); | |
return druidDataSource; | |
} | |
} |
- 测试代码
public void test(){ | |
ApplicationContext c = new AnnotationConfigApplicationContext(SpringConfig.class); | |
DataSource dataSource = c.getBean("druid",DataSource.class); | |
System.out.println(dataSource); | |
} |
Run Result
不推荐使用以上方式因为光靠 @ComponentSacn 注解看不出来我们想要找到的配置类究竟在哪
# 第二种方式
# @Import: 导入式
- 可导入多个使用
,
分隔
1. 还是导入 druid 的 pom 依赖
2.SpringConfig
@SuppressWarnings("all") | |
@Configuration | |
// 导入配置类,可导入多个使用,分隔开来 | |
@Import({JdbcConfig.class}) | |
public class SpringConfig { | |
} |
使用这种方式将我们要导入的类类型直接写上,可以很直观的就知道我们想要查看的类是哪个
3.JdbcConfig
<font style="color:red"> 注意:</font> 在 SpringConfig 配置类中使用 @Import 注解导入的类可以不写 @Configuration 注解
@SuppressWarnings("all") | |
// 在 SpringConfig 中使用 @Import 导入的类可不不进行配置 @Configuration 注解 | |
public class JdbcConfig { | |
// 1. 定义一个方法获得管理的对象 | |
// 2. 添加 @Bean 表示当前方法返回值是一个 bean | |
@Bean("druid") | |
public DataSource getDataSource(){ | |
DruidDataSource druidDataSource = new DruidDataSource(); | |
druidDataSource.setDriverClassName("com.mysql.cj.jdbc.Driver"); | |
druidDataSource.setUrl("jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8&serverTimezone=UTC"); | |
druidDataSource.setUsername("root"); | |
druidDataSource.setPassword("dkx"); | |
return druidDataSource; | |
} | |
} |
4. 测试代码
public void test(){ | |
ApplicationContext c = new AnnotationConfigApplicationContext(SpringConfig.class); | |
DataSource dataSource = c.getBean("druid",DataSource.class); | |
System.out.println(dataSource); | |
} |
Run Result