第02讲 Spring IoC对象管理与依赖注入DI

 

 

【】Spring IoC容器管理对象配置方式

  1. XML方式,不用扫描句
  2. Java注解方式,要扫描句(尽可能用注解)

【2.1】XML方式配置Spring IoC容器管理的对象

 

  1. 配置管理的对象:

<bean id="employeeDao" class="com.neusoft.oa.hr.dao.impl.EmployeeDaoImpl"/>

 

【2.2】Java扫描注解方式配置管理的对象(先去掉xml管理的对象)

  • 分别在daoimpl, serviceimpl加@XX注解类,     

②在toListbyAllController的init加下图,③在Spring配置文件context.xml中加入扫描:

<context:component-scan base-package="com.neusoft.oa"/>

然后运行测试。

Spring提供了多个注解类完成创建对象的配置。

@Component:通用的Bean的注解类。

@Repository:用于放置在DAO对象上(daoimpl)。

@Service:用于业务层对象的注册(employeeserviceimpl)。

@Controller:用于控制器类的注册。

将注解类放置在类的定义:

@Service(value="employeeService")

public class EmployeeServiceImpl implements IEmployeeService {

}

@Repository(value="employeeDao")

public class EmployeeDaoImpl implements IEmployeeDao {

}

使用注解方式管理Bean对象,需要配置扫描的起始包。

 

 

 

 

 

 

 

 

 

 

 

 

 【】Spring管理依赖注入方式

  1. 属性set注入。

提供符合JavaBean模式的set方法。

private IEmployeeDao employeeDao=null; //Field

        

         //properties 属性注入模式

         @Autowired

         public void setEmployeeDao(IEmployeeDao employeeDao) {

                  this.employeeDao = employeeDao;

         }

 

  1. 构造方法注入:

提供一个构造方法,将依赖的对象作为参数,注入到类中。

//构造方法注入

public EmployeeServiceImpl(IEmployeeDao employeeDao) {

                  this.employeeDao = employeeDao;

}

 

 

【】Spring管理依赖注入实现的方式

  1. XML配置方式
  2. Java注解类方式

 

【】XML方式实现DI注入

  1. Set注入:通过<bean>标记的子标记<property>实现。

 <bean id="employeeDao" class="com.neusoft.oa.hr.dao.impl.EmployeeDaoImpl"/>

  

 <bean id="employeeService" class="com.neusoft.oa.hr.service.impl.EmployeeServiceImpl" >

       <property name="employeeDao" ref="employeeDao"></property>

       。。。

 </bean>

 

 

  1. 构造方法注入:

通过<bean>标签下的<contructor-arg>(参考spring core的书)

  1. 默认格式:

<bean id="employeeService01" class="com.neusoft.oa.hr.service.impl.EmployeeServiceImpl" >

       <constructor-arg ref="employeeDao"></constructor-arg>

</bean>

  1. 对参数指定类型:

<bean id="exampleBean" class="examples.ExampleBean">

<constructor-arg type="int" value="7500000"/>

<constructor-arg type="java.lang.String" value="42"/>

</bean>

 

<bean id="employeeService01" class="com.neusoft.oa.hr.service.impl.EmployeeServiceImpl" >

       <constructor-arg ref="employeeDao"></constructor-arg>

       <constructor-arg type="int" value="20"></constructor-arg>

       <constructor-arg type="java.lang.String" value="20"></constructor-arg>

</bean>

  1. 指定参数位置:

<bean id="exampleBean" class="examples.ExampleBean">

<constructor-arg index="0" value="7500000"/>

<constructor-arg index="1" value="42"/>

</bean>

 

【】Java注解方式实现DI注入

  1. Set注入:Spring通过一个注入的标记: @Autowired

 

//properties 属性注入模式

@Autowired

public void setEmployeeDao(IEmployeeDao employeeDao) {

                  this.employeeDao = employeeDao;

}

 

2.构造方法注入:

在构造方法上面加入注解类@Autowired

@Autowired

public EmployeeServiceImpl(IEmployeeDao employeeDao) {

         this.employeeDao = employeeDao;

}

 

【】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值