Spring框架之IOC注解开发

前言:前面介绍的是IoC的XML方式进行开发,但在实际开发中,我们常使用注解开发。

一、IOC注解开发的步骤:

1、引入jar包

2、配置applicationContext.xml文件:

引入约束   :路径:spring/doc/spring-farmework-reference/html/xsd-configuration.html     :the context schema 

3、先创建一个接口和实现类,先利用利用传统方法书写,再利用注解的方法进行

package com.dao;

public interface UserDao {
    public void save();
}
/*
* 用户的实现类
*
* */
@Component("userDao")//相当于在,不用再xml中配置
public class UserDaoImpl implements UserDao {

    private String name;
    @Value("张三")
    public void setName(String name) {
        this.name = name;
    }

    /*
    * 使用注解方式添加属性  :如果类中有属性set方法 把属性注入的注解放入属性的下面
	*		            如果没有set方法,注解加到属性上面
    * */
    @Override
    public void save() {
        System.out.println("UserDaoImpl执行了.....");
    }
}

4、在applicationContext.xml中利用注解开发

  1. 开启spring的组件扫描
  2. 再类中添加注解      @Component("userDao")
  3. 使用注解方式添加属性  :如果类中有属性set方法 把属性注入的注解放入属性的下面             @Value("张三")
                                              如果没有set方法,注解加到属性上面                                                                                                                                        例如:private String name;                                                                                                                                                                  @Value("张三")

    

5、在编写一个测试类测试就完成了。

二、SpringIoC的注解的详细介绍 

1、@Component : 组件  修饰一个类,将一个类交给Spring管理
                         有三个衍生注解:@Controller  :
用于标注控制层,相当于struts中的action层
                                                      @Service       :用于标注服务层,主要用来进行业务的逻辑处理
                                                      @Repository :用于标注数据访问层,也可以说用于标注数据访问组件,即DAO组件

2、属性注入的注解

             2.1@Value              :设置普通属性的注解
             2.2@Autowird:   :可以设置对象类型的注解。但按照的是类型的注入,无关名称的
                      所以在设置注入时设置它的名称@Qualifier("userDao")
                      如:service中将dao层注入                     @Autowired

                                                                                      @Qualifier(value = "userDao")在实际开发中,我们常使用。
             2.3@Resource  :完成对象类型的注解  (不是spring框架的注解)
              如:  @Resource(name = "userDao")//按照名称

             注:2.2与2.3属性注入的效果一致

3、bean的一些其它的注解

              3.1生命周期的注解
                              初始化:  @PostConstruct
                              销毁时:  @PreDestroy
              3.2:bean 的作用范围的注解
                                               @Scope: singleton、prototype、requset、session、globalsession

三、Ioc注解开发和xml的比较

Spring框架之IOC注解开发_第1张图片

    XML:可以适用于任何场景
        结构清晰,维护方便
    注解:有些地方用不了,这个类不是自己提供。(比如源码提供的)
        开发方便

    开发中使用xml和注解整合开发

 

 

 

 

你可能感兴趣的:(Spring学习)