Spring IoC注解开发

@Component  组件

@Controller 控制器

@Service  业务

@Repository  仓库

这四个标签是为了创建对象

其实他们四个本质都一样,只不过另外三个是Component的别名,在不同层使用容易区分

 首先需要加入aop依赖,如果你事先加入spring-context依赖,则会关联加入aop依赖

第二步,配置xml文件,修改命名空间

 修改beans变成context

第三步,指定要扫描哪些包中的类

第四步,加入注解

 

 getBean中传入注解的value值,如果在这四个当中不填value值,默认类名首字母变小写

 

如果要扫描多个包,可以在配置文件用,隔开

 也可以指定一个父包

选择性实例化Bean,现在由于某种特殊业务的需要,只允许其中所有的Controller参与Bean管理

    第一种解决方案:use-default-filters="false" 使全部带有声明Bean的失效

   第二种解决方案:排除掉,exclude-filter

负责注入的标签:

@Value

@Autowired

@Qualifier

@Resource

@Value用来注入简单类型,并且可以不提供set方法,可以放在属性上,也可以放在set方法上以及构造方法上

 

 

 @Autowired注入非简单类型,默认byType,根据类型自动装配,不需要指定任何属性,但不能有多个实现类,不需要set方法

 

也可以出现在set方法上,构造方法上,构造方法参数上

 

可以省略@Autowired,要求只有一个构造方法并且能和属性能对应上

 

 @Autowired和@Qualifier联合使用,可以根据名字进行装配

要注入哪个就在@Qualifier中填写哪个bean

@Resource注解也可以完成非简单类型注入,他是JDK扩展包中的,属于JDK的一部分,所以该注解是标准注解,更加具有通用性,而是@Autowired是spring框架自己的

@Resource注解默认根据名称装配byName,未指定name时,使用属性名作为name,找不到的话通过byType装配,并且只适用于属性上,setter方法上

需要引入依赖

 

 

 

全注解编程:

定义一个类,加入@Configuration注解,表示这里类代替配置文件,@ComponentScan指定扫描的包

 此时需要new的对象不同,为AnnotationConfigApplicationContext,并且把配置类放到参数中

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值