spring常用注解

一、
@Service用于标注业务层组件
@Controller用于标注控制层组件(如struts中的action)
@Repository用于标注数据访问组件,即DAO组件
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。

二、注入:
@Autowired 是通过 byType 的方式去注入的, 使用该注解,要求接口只能有一个实现类。
@Resource 可以通过 byName 和 byType的方式注入, 默认先按 byName的方式进行匹配,如果匹配不到,再按 byType的方式进行匹配。
@Inject 是JSR-330提供的,按类型装配,功能比@Autowired少,没有使用的必要。
@Qualifier 注解可以按名称注入, 但是注意是 类名。比如@Qualifier("DaoImpl"),通常和@Autowired配合使用
@Primary:自动装配时当出现多个Bean候选者时,被注解为@Primary的Bean将作为首选者,否则将抛出异常


三、Bean的作用域和生命过程
@Scope("prototype") 值有:singleton,prototype,session,request,session,globalSession
@PostConstruct 相当于init-method,使用在方法上,当Bean初始化时执行。
@PreDestroy 相当于destory-method,使用在方法上,当Bean销毁时执行。

四、配置
@Configuration把一个类作为一个IoC容器,它的某个方法头上如果注册了@Bean,就会作为这个Spring容器中的Bean。


五、其他

@Lazy(true) 表示延迟初始化

@DependsOn:定义Bean初始化及销毁时的顺序,可以强制初始化其他Bean

posted @ 2019-03-25 19:21  jackspan  阅读(172)  评论(0编辑  收藏  举报