一篇文章带你掌握主流基础框架——Spring( 九 )

// 该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; } }

  1. 将独立的配置类加入核心配置(导入法)
// 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




推荐阅读