spring基于注解的属性注入

1、@Autowired  通过类型进行匹配(主流的方式),当容器中出现两个同类型的bean时会报NoUniqueBeanDefinitionException的异常。这时有两种方法,

第一种  如果有两个bean放弃注入,@Autowired 有一个required属性.fase 表示抛出异常放弃注入。默认为true

第二种  通过@Qualifier指定注入bean的名称

如下:

@Autowired
 @Qualifier("userDaoImpl")
 private UserDao dao;

总结:即可以通过类型匹配也可以通过bean的名称匹配,属性不需要set方法

2、@Resource 默认通过类型进行匹配

报错:通过类型匹配(默认)如果spring容器中出现两个相同类型的bean会抛出NoUniqueBeanDefinitionException异常。

条件:属性必须提供set方法,@Autowired不需要。

属性:@Resource提供一个name属性,通过bean的名称进行注入

总结:即可以通过类型匹配也可以通过bean的名称匹配,属性需要提供set方法

3、@Inject 与@autowired相同,只是没有required属性,此注解用得比较少。 

java企业级通用权限安全框架源码 SpringMVC mybatis or hibernate+ehcache shiro druid bootstrap
HTML5获取【下载地址】

时间: 2024-10-03 22:59:49

spring基于注解的属性注入的相关文章

spring基于注解的IOC(2)

spring第二天:spring基于注解的IOC以及IoC的案例1.spring中ioc的常用注解 用于创建对象的:Component.Controller.Service.Repository 用于注入数据的:Autowired.Qualifier.Resource.Value 用于改变作用范围的:Scope . 和生命周期相关:PreDestroy .PostConstruct 2.案例使用xml方式和注解方式实现单表的CRUD操作 持久层技术选择:dbutils3.改造基于注解的ioc案例

结合项目(Spring+(基于注解的)SpringMVC和Mybatis+uploadify文件上传)--poi解析Excel文件

poi解析Excel文件 1.上传文件至服务器 2.解析Excel文件并返回数据集合 3.将数据保存到服务器 框架======Spring+(基于注解的)SpringMVC和Mybatis===== 第一步: 前台: jsp文件采用的是uploadify <div id="fileQueue"></div> <input type="file" id="brandFile"> js: <script ty

三、SpringBoot的常用配置(.yml通过配置文件和注解进行属性注入,以及分别配置生产、开发环境)

1.在application.properties或application.yml中配置 ① .application.properties 中 server.port=8081 server.context-path=/girl ②.application.yml中 (推荐) .yml文件冒号后必须加空格,加空格后关键词会变亮 server: port: 8081 context-path: /girl 2.通过配置文件和注解进行属性注入 ①在配置文件中添加关键词cupSize server:

spring使用注解通过子类注入父类的私有变量

方法一 通过 super.setBaseDao方法设置父类私有变量 父类 public class BaseServiceImpl {    private BaseDao baseDao; public BaseDao getBaseDao() {        return baseDao;    } public void setBaseDao(BaseDao baseDao) {        this.baseDao = baseDao;    } public void test()

阶段3 2.Spring_08.面向切面编程 AOP_9 spring基于注解的AOP配置

复制依赖和改jar包方式 src下的都复制过来. 复制到新项目里了 bean.xml里面复制上面一行代码到下面.把aop改成context. 配置spring容器创建时要扫描的包 Service的配置这里就可以删除了 配置注解 使用@Service注解 开始AOP配置 把通知类交给Spring来管理 在Logger上加注解.之类注意,@Service和@Repository都不合适.因为logger属于三层 所以这里用@Component这个注解来配置 写完上面的@Component的注解后.b

Spring框架第四篇之基于注解的DI注入

一.说明 与@Component注解功能相同,但意义不同的注解还有三个: 1)@Repository:注解在Dao实现类上 2)@Service:注解在Service实现类上 3)@Controller:注解在SpringMVC的处理器上 Bean作用域: @Scope("prototype"):用于指定对象创建模式,可以是单例模式或者原型模式,默认是singleton 基本类型属性注入: @Value @Autowired:byType方式的注解式注入,即根据类型注解 @Qualif

spring IOC快速入门,属性注入,注解开发

我们使用spring框架也会使用到配置文件,我们需要在src下创建一个关于spring的配置文件,一般情况名称叫applicationContext.xml 基本约束: <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"> IOC快速入门 inversion of Controller

(spring-第4回)spring基于注解的配置

基于XML的bean属性配置:bean的定义信息与bean的实现类是分离的. 基于注解的配置:bean的定义信息是通过在bean实现类上标注注解实现. 也就是说,加了注解,相当于在XML中配置了,一样一样的. 一.举个栗子: 1 package com.mesopotamia.annotation; 2 3 import org.springframework.stereotype.Component; 4 5 @Component 6 public class Car { 7 private

Spring基于注解TestContext 测试框架使用详解

概述 Spring 2.5 相比于 Spring 2.0 所新增的最重要的功能可以归结为以下 3 点: 1.基于注解的 IoC 功能:  2.基于注解驱动的 Spring MVC 功能:  3.基于注解的 TestContext 测试框架. Spring 推荐开发者使用新的基于注解的 TestContext 测试框架,本文我们将对此进行详细的讲述. 低版本的 Spring 所提供的 Spring 测试框架构在 JUnit 3.8 基础上扩展而来,它提供了若干个测试基类.而 Spring 2.5