Spring基于注解配置

前言

​ 基于注解的方式配置在实际开发中使用更加广泛,一般只有非自己编写的类,需要将对象放入到IOC容器中管理才会使用到xml的配置,相比XML配置来说,注解更加简单。

一. 注解的类型

​ 并不是说使用了注解之后,就可以不用使用xml文件,使用注解也需要配置xml文件,但是xml文件配置的不再是bean,而是配置扫描,扫描的配置指的是,Spring能够从配置的指定的classpath中自动扫描,侦测和实例化具有特定的Spring注解的组件【类】。Spring的特定的注解有哪些呢?

  • @Component:基本注解,标识一个受到Spring管理的组件
  • @Resposity:是基本注解的子注解,标识在数据访问层,表示是一个受到了Spring管理的组件
  • @Service:是基本注解的子注解,标识在业务层【服务层】,表示是一个受到了Spring管理的组件
  • @Controller:是基本注解的子注解,标识在控制层,表示是一个受到了Spring管理的组件

范例:使用注解

  1. 步骤1:加入jar包

    commons-logging-1.1.3.jar

    spring-aop-4.0.0.RELEASE.jar

    spring-beans-4.0.0.RELEASE.jar

    spring-context-4.0.0.RELEASE.jar

    spring-core-4.0.0.RELEASE.jar

    spring-expression-4.0.0.RELEASE.jar

  2. 步骤2:编写需要加入到SpringIOC容器中管理的组件

    @Component
    
    public class Car {private String brand;public String getBrand() {return brand;}public void setBrand(String brand) {
    
    ​		thisbrand = brand;}@Overridepublic String toString() {return "Car [brand=" + brand + "]";}	
    
    }
    
  3. 步骤3:编写Spring的配置文件

    <!-- 
    
    ​		配置自动扫描的包:表示这个包【或者子包】中带有Spring注解的组件会被IOC容器管理
    
    ​		context:component-scan : 用来配置自动扫描的包
    
    ​			base-package : 表示配置扫描的基础包,则表示会扫描此包及其子包中所有的Spring的注解
    ​	 --><context:component-scan base-package="com.wanbangee.annotation"></context:component-scan>
    
    </beans>
    
  4. 步骤4:编写测试类

public class Main {public static void main(String[] args) {

​		ApplicationContext act = new ClassPathXmlApplicationContext("annotation.xml");

​		Car car = act.getBean(Car.class);

​		System.out.println(car);}
}
二. 注解配置

如何进行属性注入:在组件类中的setter方法或者属性名上面使用@Value注解,进行属性注入

@Value(value="Audi")//@Value("Audi"),如果注解中只设置value属性的值,则可以省略value=

我们在测试类中,获取bean的方式是用过bean的类型获取,如果要通过bean的id获取,那么注解的组件的bean的id如何配置呢?

/* * 	如果不设置bean的id,则默认的bean的id是类名首字母小写 * 	
		可以在注解中使用value属性设置bean的id,如果设置了bean的id,则默认id失效 * 		@Component(value="car1") 和 @Component("car1") 如果注解中只设置value属性的值,则可以省略value= */
@Component("car1")

我们目前只使用了基本注解,那么其他的三个子注解如何使用呢?四个注解在实际使用中是一致的,但是从理论上讲,又是不一致的。我们在开发中实际四个注解应该使用在这个注解所表示层级。

配置自动扫描的包,能扫描到子包吗?能够扫描当前配置包和其子包

小结

实际上在开发中,对于注解使用是最多的,因为注解相比配置文件来说,更加简单。

使用注解的话,有四种将类放到IOC容器中管理的方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值