注解开发定义Bean,纯注解开发,bean的作用范围和生命周期,第三方的bean管理,xml和注解的区别

一、注解开发定义Bean

 代替下面这句

配置文件applicationcontext中加入下面的语句

 

用@component可以不加括号,但是获取的时候就按类型找

 

 

 

Spring提供@Component注解的三个衍生注解(@Component是通用的)

@Controller :用于表现层bean定义

@Service :用于业务层bean定义

@Repository :用于数据层bean定义(意为数据仓库)

二、纯注解开发

把配置文件写成类的形式

新建一个类SpringConfig,在类前面加@Configuration就代表这是个配置类,再加上@ComponentScan(“包的路径”)扫描哪个包,这样就不用写application context文件了

@Configuration注解用于设定当前类为配置类

@ComponentScan注解用于设定扫描路径,此注解只能添加一次,多个数据请用数组格式

Spring3. 0开启了纯注解开发模式,使用Java类替代配置文件,开启了Spring快速开发赛道

读取Spring核心配置文件初始化容器对象切换为读取Java配置类初始化容器对象

 

三、bean的作用范围和生命周期

 prototype就是多例模式

bean的作用范围: 

bean的生命周期

 四、使用注解进行依赖注入

@Autowired是按类型装配的

有了这个就不用setter方法了

使用反射里的暴力反射,给serviceImplment直接加值了,不需要再用set注入

所以这样我们一个注解就能完成装配的问题

注意: 自动装配基于反射设计创建对象并暴力反射对应属性为私有属性初始化数据, 因此无需提供setter方法

注意:自动装配建议使用无参构造方法创建对象(默认) ,如果不提供对应构造方法,请提供唯一的构造方法

如果有相同类型的bean,使用@Autowired和@Repository时,在@Repository后要加上名字,

如果有相同类型的bean,但是推荐使用@qualifier(“bookDao2),这个注解必须搭配 @Autowired使用

@qualifier(“bookDao“)开启指定名称装配bean

使用@Value进行简单类型注入

 

 

怎样把外部的properties注入  

1.在配置类中用@propertySource("配置文件名")

 

2.用的时候在@Value后面用${里面内容是配置文件的属性内容}

 

多个属性文件要加载时,用数组形式

不允许用*开头 

 

五、第三方的bean管理

比如管理durid连接池

spring中配置类都会有独立的

先在pom中导入坐标

新建一个配置类JdbcConfig

 然后再在springconfig中用@Import加入该配置类

不建议使用下面的方法 

第三方bean依赖注入:

简单类型用成员变量的方法

也就是使用成员变量来加载它对应的值。

引用类型用方法形参

引用类型只用给形参就行

 XML配置与注解配置的对比

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值