1、声明Bean的注解
@Component 组件,没有明确的角色(不好分类,但要Spring管理)
@Service 在业务逻辑层使用(XxxServiceImpl上使用)
@Repository 在数据访问层/持久层使用
@Controller 在展现层/控制层使用(XxxController)
@Bean 不同于上面四个注解是类级别的,Bean是方法级的,优点是加载第三方实例时肯定无法用类级别的注解。
2、注入Bean的注解
@Autowired 由Spring提供
@Resource 由JSR-250提供
@Inject 由JSR-330提供
// 以上三个注解都可使用在属性上或(setter)方法上
// tip: Inject注解的使用
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
import javax.inject.Inject;
public class Demo0 {
@Inject
public Demo1 demo1;
}
@Qualifier("实例名") 当注入的接口有多种实现时,声明注入哪种实现类
全注解实现配置的情况下,部分情况用xml配置并加载,该注解一般加在配置类上
@ImportResource({"classpath:aaa.xml","classpath:bbb.xml"})