Spring Bean 是被实例的,组装的以及被spring容器管理的Java对象。
Spring容器自动完成bean对象的实例化。创建应用对象的过程称为装配。
Bean的三种配置方式
1、在xml配置文件中进行配置
2、使用Java代码进行配置
3、使用注解的方式实现自动装配
1.1在xml中配置Bean信息
第一步:命名空间配置
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
</beans>
第二步:Spring容器中简单的Bean配置方式。bean的简要配置都包含在<bean></bean>这样的标签中。id为这个bean的名称,class为这个bean对应的外部的实现类。
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"></bean>
1.2 在Java代码中配置bean
在代码中使用配置bean信息,首先需要在类头部使用@Configuration表明这个类是配置类,然后在类内部,使用@Bean注解告诉你将返回一个bean
@Configuration
public class BeanConfig {
@Bean
public UserDao userDao(){
return new UserDao();}
}
1.3使用注解的方式进行配置
1、使用@Component标注,Spring会自动发现应用上下文中所创建的bean。@Component组件扫描是默认不开启的,所以我们需要去spring的xml配置文件去手动开始组件的扫描。
@Component("userDao")
public class UserDao {
}
除了@Component以外,Spring提供了3个功能基本和@Component等效的注解,它们分别用于对DAO、Service及Web层的Controller进行注解,所以也称这些注解为Bean的衍型注解。
@Repository:用于对DAO实现类进行标注;
@Service:用于对Service实现类进行标注;
@Controller:用于对Controller实现类进行标注;
2、组件扫描,base-package指定组件扫描的基类包,spring容器将扫描这个包下的所有的类。
<context:component-scan base-package="com.stalkers.impl"/>