Spring框架(二)

基于注解配置Spring入门编程

为何要使用注解配置代替XML配置文件呢?框架

答:由于XML配置文件,非编程语言语法,因此没法调试。而使用注解配置的代码,更加容易定位编程语言

  问题ui

 

注解配置步骤:spa

1.导入包(注意:基于注解的配置中,咱们要多拷贝一个aop的jar包)调试

2.在类的根路径建立一个XML配置文件,写一个组件解释器component

<context:component-scan base-package=""></context:commponnent-scan>对象

3.建立一个自定义类加上@Controller生命周期

 

Spring经常使用注解说明原型

1.用于对象的注解,咱们将用于被扫描建立对象的注解,统称为组件注解(声明在类上)

组件注解包括:

@Component  用于声明三层之外的组件注解

@Controler  用于声明表示层的组件注解

@Service   用于声明服务层的组件注解

@Repository  用于声明持久层的组件注解

注:这四个组件注解功能上没有任何区别,只是概念上不同

组件注解有什么功能呢?

用来表示类为注解的组件类,启动Spring框架的程序时,声明将这些组件类的对象注入到Spring容器里面。

 

2.用于依赖注入的注解

  @Autowired

  做用:用于给引入注入容器的对象

  属性:required:指定注入的对象是否容许为空,若是required=true。表示不能够为空

  使用@Autowired的三种状况

    a.在属性上面注入

    b.在方法上注入

    c.在构造方法上注入,注:若是构造方法加入@Autowired,Spring框架会自动匹配容器中是否有对应参数类

      的对象,将对象赋予构造方法的参数。若是要使用@Autowired给构造方法注入对象,该构造方法必需要

      有参数

  @Qualifier

    做用:用于指定注入的对象使用@Autowired注入对象时,由于@Autowired没有指定对象名的参数,只能通

    过@Qualifier字段容器中对象名

    属性:

    value:指定注入Spring容器中对应对象名的对象给引用

  @Resource注解功能等同于@Autowired+@Qualifier

    注:@Resource只能注入方法和属性,不能注入构造方法

 

  @Value注解

    做用:只能设置标量类型(基础数据类型+包装类+String)

3.声明周期

  @Scope:用于指定建立的对象的生命周期,是单例、原型

    注:若是Scope若是放在方法上,必需要和@Bean注解结合使用

  @PostConstruct:指定初始化方法

  @PreDestory:用于指定容器销毁以前执行的方法

纯注解的支持(替换配置文件)

  @Configuration:声明该类是一个配置类

  @ComponentScan:扫描组件类建立对象到容器中

  @PropertyScource:对Properties文件的支持!!!

  @Bean:做用就是将非组件类的对象加入到Spring容器

相关文章
相关标签/搜索