// 该bean同样属于config文件 , 我们同样放置在config文件夹下 // 在后续我们将会讲解如何进行连接 package com.itheima.config; import com.alibaba.druid.pool.DruidDataSource; import com.itheima.dao.BookDao; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.sql.DataSource; public class JdbcConfig { // 1.定义一个方法获得要管理的对象 // 2.添加@Bean , 表示当前方法的返回值是一个bean // @Bean修饰的方法 , 形参根据类型自动装配 @Bean public DataSource dataSource(){ DruidDataSource ds = new DruidDataSource(); ds.setDriverClassName("com.mysql.jdbc.Driver"); ds.setUrl("jdbc:mysql://localhost:3306/spring_db"); ds.setUsername("root"); ds.setPassword("123456"); return ds; } }
- 将独立的配置类加入核心配置(导入法)
// SpringConfig package com.itheima.config; import com.alibaba.druid.pool.DruidDataSource; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import javax.sql.DataSource; @Configuration @ComponentScan("com.itheima") //@Import:导入配置信息(如果需要多个 , 同样采用{}数组形式) @Import({JdbcConfig.class}) public class SpringConfig { }
// JdbcConfig package com.itheima.config; import com.alibaba.druid.pool.DruidDataSource; import com.itheima.dao.BookDao; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.sql.DataSource; //@Configuration public class JdbcConfig { //@Bean修饰的方法 , 形参根据类型自动装配 @Bean public DataSource dataSource(){ DruidDataSource ds = new DruidDataSource(); // 配置信息 return ds; } }
注意:除了上述的导入法外还存在有其他方法 , 但导入法属于主流 , 因此我们不介绍其他流派 , 感兴趣的同学可以去查阅一下注解开发为第三方导入资源
我们的第三方bean也可能需要导入部分资源 , 下面我们进行简单介绍:
- 简单类型依赖注入
package com.itheima.config; import com.alibaba.druid.pool.DruidDataSource; import com.itheima.dao.BookDao; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.sql.DataSource; //@Configuration public class JdbcConfig { //1.定义一个方法获得要管理的对象 @Value("com.mysql.jdbc.Driver") private String driver; @Value("jdbc:mysql://localhost:3306/spring_db") private String url; @Value("root") private String userName; @Value("root") private String password; //2.添加@Bean , 表示当前方法的返回值是一个bean //@Bean修饰的方法 , 形参根据类型自动装配 @Bean public DataSource dataSource(){ DruidDataSource ds = new DruidDataSource(); ds.setDriverClassName(driver); ds.setUrl(url); ds.setUsername(userName); ds.setPassword(password); return ds; } }
- 依赖类型依赖注入
package com.itheima.config; import com.alibaba.druid.pool.DruidDataSource; import com.itheima.dao.BookDao; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.sql.DataSource; public class JdbcConfig { @Bean public DataSource dataSource(BookDao bookDao){ // 我们只需要调用即可 , 系统会为我们自动装配 System.out.println(bookDao); } }
引入类型注入只需要为bean定义方法设置形参即可 , 容器会根据类型自动装配对象
原文链接:https://www.cnblogs.com/qiuluoyuweiliang/p/16750470.html
推荐阅读
- 柠檬水什么时候喝最好 柠檬水什么时候喝好
- 我想念你(我想念你的句子)
- 黄子韬|黄子韬徐艺洋见家长疑同居,还不承认恋情,再怎么嘴硬都无济于事
- 完美日记|这届双11,完美日记为啥“隐身”了?
- 玄奘有什么身世 ? 玄奘的身世
- 手机导航究竟哪个更好用 手机导航哪个好用
- 指甲白色月牙变少,指甲的月牙白越来越多-
- 戴尔台式机评测 戴尔台式机
- 绿松石|绿松石与藏族金轮
- |艺术家徐耀——淡雅脱俗 赏心悦目