springgateway怎么配置不需要token
曾经java和xml是密不可分的,跨平台的java和跨平台的xml配合的天衣无缝,然而spring中零配置的出现,使用annotation替代xml的配置方式也逐渐开始使用,人们抛弃了xml的配置方式。
首要问题是spring需要自动搜索java下的类,并将这些类注册成bean实例。此处使用annotation进行标注。
1. 基本Bean类搜索
注:@component需要定义一个普通改的bean类,而其他三个标注的类作为特殊的java EE组件,可与工具进行更好的接触,或者与切面进行关联。这三个在以后的发展中可能会赋予更多的语义,因此在标注时尽量根据类的功能标注这三个标签。
采用annotation方法来进行对象注入,需要在xml文件中进行配置。如下所示:
可以看出xml中配置中使用了component-scan…进行配置,此外include-filter,exclude-filter等过滤器也可以进行过滤扫描等功能。
实例名称默认为类名的第一个字母变成小写,其他不变。也可以采用上面方法进行标记定义实例名。
2.设置Bean的作用域
可以通过scope来制定Bean实例的作用域,没有指定scope属性的作用域默认是singleton
如下例:
也可以采用通过xml文件中的方式进行配置。
3.使用@Resource配置依赖
@resource位于java.annotation包下,是来自javaEE规范的一个Annotation。改annotation中有name属性,来指定加载的实例。它不仅可以修饰setter方法,也可以直接修饰field,也可以省略name属性。
若省略name属性,当修饰field时,根据类型匹配,当修饰setter时,则默认去掉setter前面的set后,将第一个字母小写。即setAxe,实例名为axe。
3.使用@postConstruct和@PreDestroy定制生命周期行为
init-method 指定初始化方法,发生在依赖注入完成后
destroy-method 指定销毁之前的方法,发生在容器销毁Bean之前
spring正常在xml中有配置生命周期前后的功能行为。Annotation也配置了@postContruct和@PreDestroy使用。
例:
4.Spring3.0新增的Annotation
@DependOn :加载该对象之前先加载哪些类
如:@DependOn({“steel”,”abc”})
@Lazy: 使bean延迟加载
如:@Lazy(true)
5.自动装配和精确装配
@Autowired,他可以标注setter方法、普通方法、Field和构造器。
@Autowired默认是byType方式装配,若修饰setter时,采用去挑set后第一个字母小写的方式作为实例名。此外,@Autowired也可以修饰多个参数的普通方法。以及构造器和Field。还可以修饰对象数组和泛型等等。
@Qualifier通常可用于修饰Field。他目标精确的指定装配的实例。此外,他还可以修饰形参。如下例子所示:
以上就是Annotation的基本使用,要熟练掌握,还需要更加了解spring的相关知识。
<< 上一篇