1 @Resource和@Autowired区别
前者按照名字进行注入 后者按照类型注入 可以结合@Autowired @Qualifier("personDaoBean") 实现按照名字注入
private PersonDao personDao;
为什么需要@Qualifier协助 是因为一个类型的bean如果创建了两个对象 这个时候就需要根据名字进行区分 spring根本不知道你要进行注入哪个bean
<bean name="user1" class="com.angel.User">
<property name="text" value="Content of the 1st User" />
</bean><bean name="user2" class="com.angel.User">
<property name="text" value="Content of the 2nd User" />
</bean>
2 @Configuration作用
相当于<beans>标签 有@Component 还是相当于把当前类当成spring的组件 注入到spring中
@Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Component public @interface Configuration { @AliasFor( annotation = Component.class ) String value() default ""; boolean proxyBeanMethods() default true; }
3 @Component
把普通的pojo注入到spring容器中
@Controller 控制器
@Service 服务
@Repository dao层
@Component 组件无法进行归类的时候使用这个注解
@Component,@Service,@Controller,@Repository注解的类,并把这些类纳入进spring容器中管理。
@Component的扫描组件 扫描所有base-package子包
<context:component-scan base-package=”com.mmnc”>
4 扫描@Component组件的配置文件
在springboot中已被定义为注解
@ComponentScan
@Component的扫描组件 扫描所有base-package子包
<context:component-scan base-package=”com.mmnc”>