Java学习笔记——Spring框架

Spring:

   Spring默认配置文件回去WEB-INF下的spring-servlet.xml文件

 

Spring注解:


1、@controller 控制器(注入服务)

  • 用于标注控制层,相当于struts中的action层

2、@service 服务(注入dao)

  • 用于标注服务层,主要用来进行业务的逻辑处理

3、@repository(实现dao访问)

  • 用于标注数据访问层,也可以说用于标注数据访问组件,即DAO组件.

4、@component (把普通pojo实例化到spring容器中,相当于配置文件中的 
<bean id="" class=""/>

 

控制反转和依赖注入

控制反转:举个例子,以前我们要创建一个类,都是我们主动去创建,而Spring的做法是我们把控制权交给IOC容器,我们变成请求者

依赖注入:在控制反转中获取资源的方式叫依赖注入,Spring目前只支持两种注入方式,还有一种接口注入方式Spring暂不支持。

   两者区别:

设值注入:

a)与传统的Javabean的写法更相似,通过setter方法设定依赖关系显得更加直观自然

b)对于复杂的依赖关系,如果采用构造注入,会导致构造器过于臃肿

c)多参数情况下使得构造器变得更加笨重

构造注入:

a)构造注入可以在构造器中决定依赖关系的注入顺序

b)对于依赖关系无须变化的bean,构造注入更有用处,无须担心后续代码对依赖关系的破坏

c)依赖关系只能在构造器中设定,更符合高内聚的原则

建议采用以设值注入为主,构造注入为辅的注入策略。对于依赖关系无须变化的注入,尽量采用构造注入;而其它依赖关系的注入,则考虑设置注入。

 

  Spring配置bean实例化有哪些方式?

    1)使用类构造器实例化(默认无参数)

<bean id="bean1" class="cn.itcast.spring.b_instance.Bean1"></bean>

    2)使用静态工厂方法实例化(简单工厂模式)

 

//下面这段配置的含义:调用Bean2Factory的getBean2方法得到bean2

<bean id="bean2" class="cn.itcast.spring.b_instance.Bean2Factory" factory-method="getBean2"></bean>

    3)使用实例工厂方法实例化(工厂方法模式)

 

//先创建工厂实例bean3Facory,再通过工厂实例创建目标bean实例

<bean id="bean3Factory" class="cn.itcast.spring.b_instance.Bean3Factory"></bean>

<bean id="bean3" factory-bean="bean3Factory" factory-method="getBean3"></bean>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值