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;

     

  • 相关阅读:
    lambda表达式
    You can't specify target table 't_mail_marketing' for update in FROM clause
    从对象list中获取对象属性list
    枚举缓存
    Solr语法
    通过Telnet查询注册服务
    日志查询
    Maven 屏蔽静态文件
    抽奖
    随机码生成方法
  • 原文地址:https://www.cnblogs.com/yuanfuqiang/p/5824785.html
Copyright © 2011-2022 走看看