Spring使用注解代替配置

一.Spring使用注解代替配置

  1.使用注解之前,较新的spring版本得导入spring的一个aop包,还需要导入schame目录下的context目录的约束文件并引入到主配值中

  2.在主配置文件开启使用注解的一个标签,如图:

  3.现在就可以到指定包下的类中加注解了

二.在类上的注解

  1.如果想指定该类注册到主配值文件中,可以在类上加@Component(value="user1"),value是指定对象的命名,相对于主配置文件的<bean name="user1" class="">

  2.除了@Component()之外还有三个跟它作用上一模一样,只是命名不同:@Controller,@Service,@Repository;可以清楚的知道对象是属于哪一层的

  3.描述scopre属性,可以在类上加@Scope(scopeName = "singleton")

三.属性上的注解

  1.在值属性上可以加@Value(value="tom"),在主配置相当:<property name="属性名" value="tom"></property>

  2.对象属性上:

      >可以加@Autowired,表示在spring容器中自动装配符合对象类型的对象;如果存在多个类型相同的对象则无法具体注入哪一个对象

      >@Autowired+@Qualifier("car1")一起使用,自动装配指定名称的对象

      >@Resource(name="car1"),手动注入指定名称的对象(推荐使用)

  3.在属性上面注入是通过反射的Filed,这种方式是破坏了面向对象思想的封装性,官方呢是更推荐使用set方法注入在set方法上加注解,不过这东西仁者见仁智者见智。

四.方法上的注解

  1.如果想指定对象的初始化方法和摧毁前调用的方法,可以在指定的方法上加@PostConstruct表示初始化,@PreDestroy表示spring容器摧毁前调用

  2.如果scope属性是prototype的话,创建的实例是不归容器管理的,也意味着对象的方法有@PreDestroy也不会调用

猜你喜欢

转载自www.cnblogs.com/ibcdwx/p/12766743.html