加入收藏 | 设为首页 |

倚天屠龙记之魔教教主-@Autowired的运用,与@Resource、@Inject的差异

海外新闻 时间: 浏览:179 次

点重视,不走失;持续更新Java相关技能及资讯!!!

主动安装:

spring运用依靠注入(DI),完成对IOC容器中各个组件的依靠联系赋值;

1) @Autowired:主动注入:

1. 默许优先依照类型去容器中找对应的组件:applicationConte倚天屠龙记之魔教教主-@Autowired的运用,与@Resource、@Inject的差异xt.getBean(BookDao.class);

2. 假如找到多个相同类型的组件,再将特点的称号座位组件的id去容器中查找 applicationContext.getBean("bookDao")

3. @Qualifier("bookDao");运用@Qualifier指定需求安装的组件的id,而不是运用特点名

4. 主动状况默许必定要将特点赋值好,没有就会报错;能够运用@Autowired(required=false);

5. @primary;让Spring进行主动安装的时分,默许运用首选的bean;也能够持续运用@qualifier履行需求安装的bean的姓名

BookService{

@Autowired

BookDao bookDao;

}

2) Spring还支撑运用@Resource(JSR250)和@Inject(J倚天屠龙记之魔教教主-@Autowired的运用,与@Resource、@Inject的差异SR330)[java标准的注解]

@Resource:

能够和@Autowired相同完成主动安装功用;默许是依照组件称号进行安装的;

没有支撑@primary功用,没有支撑@Autowired(required=false);

@Inject:

需求导入javax.inject的包,和Autowired的功用相同.没有required=false的功用;

@Autowired:Spring界说的;@Resource,@inject都是java标准

3) 主动以组件想要运用Spring容器底层的一些组件(APplicationContext、BeanFactory、xxx);

自界说组件完成xxxAware接口;在创立目标的时分,会调用接口规则的办法注入相关组件;Aware;

把Spring底层一些组件注入到自界说Bean中;

xxxAware:功用运用xxxProcessor;(后置处理器)

ApplicationContextAware --> ApplicationContextAwareProcessor;

示例:

测验类:

pack倚天屠龙记之魔教教主-@Autowired的运用,与@Resource、@Inject的差异age com.spring.test;


import org.j盐水虾的做法unit.Test;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

import com.spring.config.MainConfigAutowired;
import com.spring.dao.BookDao;
import com.spring.service.BookService;

public class IOCTest_Auto {

@Test
public void test01(){
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(MainConfigAutowired.class);

BookService bookService = context.getBean(BookService.class);
System.out.println(bookService);

/*BookDao bookDao = context.getBean(BookDao.class);
System.out.println(bookDao);*/

context.close();
}
}

福利

整理了一些学习材料 需求自取

部分面试材料

部分视频材料

重视、转发、谈论头条号每天共享java 常识,私信回复“源码”赠送文末福利材料