初学Spring框架(二)

一、Spring IoC容器

IoC(Inverse of Control)控制反转,将对象的创建以及对象依赖关系反转给Spring容器,程序本身不进行维护。Spring通过IoC容器来管理对象的实例化和初始化,以及对象从创建到销毁的整个生命周期。

Spring提供的2种不同类型的IoC容器,BeanFactory和ApplicationContext容器:

1、BeanFactory容器:由org.springframework.beans.factory.BeanFactory接口定义,采用懒加载,所以容器启动比较快;

2、ApplicationContext容器:继承了BeanFactory接口,增加了AOP、国际化、时间支持等,常用的两个实现类:ClassPathXmlApplicationContext和FileSystemXmlApplicationContext。

二、Spring DI

DI(Dependency Injection)依赖注入,spring容器在创建被调用者的实例时,会自动将调用者需要的对象实例注入给调用者,调用者通过spring容器获得被调用者实例。

依赖注入的两种主要实现方式:

1、构造函数注入

指IoC容器使用构造函数注入被依赖的实例,可以通过调用带参数的构造函数实现依赖注入,每个参数代表一个依赖。

2、setter注入(设值注入)

指IoC容器使用setter方法注入被依赖的实例,通过调用无参构造器或者无参static工厂方法实例化Bean后,调用该Bean的setter方法,即可实现基于setter的DI。

满足要求:

(1)必须提供一个默认的无参构造方法;

(2)必须为需要注入的属性提供对应的setter方法。

三、Spring注解

1、@Component:让Spring容器来管理对象,相当于在xml中配置了一个Bean;

2、@Controller:和@Component作用一样,作用于表现层;

3、@Service:和@Component作用一样,作用于业务层;

4、@Repository:和@Component作用一样,作用于持久层;

5、@Value:给属性注入基本数据,支持SpEL;

6、@Autowired:自动按照类型注入,使用注解注入属性时,set方法可以省略,该注解只能注入bean类型,当有多个相同类型时,将bean的名字作为要注入对象的属性名,也可以;

7、@Qualifier:与 @Autowired 注解配合使用,会将默认的按 Bean 类型装配修改为按 Bean 的实例名称装配,Bean 的实例名称由 @Qualifier 注解的参数指定。

8、@Resource:直接按照bean的id注入,只能注入bean类型;

9、@Scope:指定Bean的作用范围,取值为:singleton、prototype、request、session、golbalsession;

10、@PostConstruct:指定初始化方法;

11、@PreDestroy:指定销毁方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清梦扰i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值