精选30+云产品,助力企业轻松上云!>>>
搭建一个Spring项目并整合Mybatis看这个博客:https://my.oschina.net/u/4284277/blog/3194178
1. @Bean简介
@Bean用于修饰方法:
作用:
1.将方法返回的对象注册到spring容器
2.向方法形参注入数据
注解 | 描述 | 修饰位置 |
---|---|---|
@Bean | 将方法的返回对象注册到Spring容器 | 方法 |
@Bean(name="xx") | 将方法的返回对象注册到Spring容器, 并赋予注册名 | 方法 |
2. @Bean基本使用
方法返回值对象 注入 成员变量
2.1 按类型注入
- Dao类:
public class ManLuDao{}
- 配置类
/**
* Spring配置类
* @author 漫路h
*/
@Configuration
public class SpringConfiguration{
@Bean
public ManLuDao getDao(){
return new ManLuDao();
}
}
- 测试类
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes={SpringConfiguration.class})
public class ManLuText{
@Resource //向Spring容器获取对象
private ManLuDao dao;
@Test
public void run1(){
System.out.println(dao);
}
}
- 示意图:
2.2 按名称注入
- Dao类:
public class ManLuDao{}
- 配置类
/**
* Spring配置类
* @author 漫路h
*/
@Configuration
public class SpringConfiguration{
@Bean(name="manLuDao")
public ManLuDao getDao(){
return new ManLuDao();
}
}
- 测试类
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes={SpringConfiguration.class})
public class ManLuText{
@Resource(name="manLuDao") //向Spring容器获取对象
private ManLuDao dao;
@Test
public void run1(){
System.out.println(dao);
}
}
- 示意图
3. @Bean进阶使用
向方法形参注入
3.1 向参数注入-引用类型
- Dao类:
public class ManLuDao{}
- 配置类
/**
* Spring配置类
* @author 漫路h
*/
@Configuration
public class SpringConfiguration{
@Bean
public ManLuDao getDao(){
return new ManLuDao();
}
@Bean
public Object test(ManLuDao dao){
System.out.println(dao);
return null
}
}
- 测试类
直接运行即可
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes={SpringConfiguration.class})
public class ManLuText{
@Test
public void run1(){}
}
- 示意图
3.2 向参数注入-多个简单类型
这里我们结合property配置文件的读取
- property文件
jdbc.driver=com.mysql.jdbc.Driver
# 数据库地址
jdbc.url=jdbc:mysql://127.0.0.1:3306/springday01
# mysql账号
jdbc.username=root
# mysql密码
jdbc.password=root
- 配置类
/**
* Spring配置类
* @author 漫路h
*/
@Configuration
public class SpringConfiguration{
@Bean
public static PropertySourcesPlaceholderConfigurer prop(){
return new PropertySourcesPlaceholderConfigurer();
}
/**
* 将properties文件中的参数注入到方法形参中
*/
@Bean
public Object get1(@Value("${jdbc.driver}")String driver,
@Value("${jdbc.username}")String username){
System. out .println(driver);
System. out .println(username);
return null;
}
}
- 测试类
直接运行即可
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes={SpringConfiguration.class})
public class ManLuText{
@Test
public void run1(){}
}
4. @Bean总结
@Bean用于修饰方法:
作用:
1.将方法返回的对象注册到spring容器
2.向方法形参注入数据