zoukankan      html  css  js  c++  java
  • Spring 框架 详解 (四)------IOC装配Bean(注解方式)

     Spring的注解装配Bean

    Spring2.5 引入使用注解去定义Bean

    @Component  描述Spring框架中Bean 

     

    Spring的框架中提供了与@Component注解等效的三个注解:

    @Repository 用于对DAO实现类进行标注

    @Service 用于对Service实现类进行标注

    @Controller 用于对Controller实现类进行标注

    ***** 三个注解为了后续版本进行增强的.

     

     

     Bean的属性注入:

     

    普通属性;

     

    @Value(value="itcast")

     

    private String info;

     

     

     

    对象属性:

     

    @Autowired:自动装配默认使用类型注入.

     

    @Autowired

     

        @Qualifier("userDao") --- 按名称进行注入.

     

     

     

    @Autowired

     

        @Qualifier("userDao")

     

    private UserDao userDao;

     

    等价于

     

    @Resource(name="userDao")

     

    private UserDao userDao;

     

     Bean其他的属性的配置:

    配置Bean初始化方法和销毁方法:

    * init-method 和 destroy-method.

    @PostConstruct 初始化

    @PreDestroy  销毁

     

    配置Bean的作用范围:

    @Scope

     

    1.1.1 Spring3.0提供使用Java类定义Bean信息的方法

    @Configuration

    public class BeanConfig {

     

    @Bean(name="car")

    public Car showCar(){

    Car car = new Car();

    car.setName("长安");

    car.setPrice(40000d);

    return car;

    }

     

    @Bean(name="product")

    public Product initProduct(){

    Product product = new Product();

    product.setName("空调");

    product.setPrice(3000d);

    return product;

    }

    }

    1.1.2 实际开发中使用XML还是注解?

    XML:

    * bean管理

    注解;

    注入属性的时候比较方便.

     

    两种方式结合;一般使用XML注册Bean,使用注解进行属性的注入.

     

    <context:annotation-config/>

    s

    @Autowired

    @Qualifier("orderDao")

    private OrderDao orderDao;

     

  • 相关阅读:
    激光打印机基于主机驱动程序、基于 PCL 驱动程序和 PostScript 驱动程序有何区别?
    转贴:打印机语言PostScript和PCL的比较
    编译器相关配置简介
    Graphics View的体系结构
    解决重装Qt后不能编译Examples的问题
    有符号数和无符号数的区别
    51单片机的外设
    AT89S52单片机P3口解惑
    双向端口设计
    AT89s52单片机的掉电测试
  • 原文地址:https://www.cnblogs.com/yuanfuqiang/p/5824785.html
Copyright © 2011-2022 走看看