从今天开始连载spring,伟大的csdn请监督我!
三种配置方式
- 基于 XML 的配置
- 基于注解的配置
- 基于 Java 的配置
(1)xml配置:
在 Spring 框架中,依赖和服务需要在专门的配置文件来实 现,我常用的 XML 格式的配置文件。这些配置文件的格式通 常用开头,然后一系列的 bean 定义和专门的应用配置选项组成。
SpringXML 配置的主要目的时候是使所有的 Spring 组件都可以用 xml 文件的形式来进行配置。这意味着不会出现其他的Spring 配置类型(比如声明的方式或基于 Java Class 的配置方式)
Spring 的 XML 配置方式是使用被 Spring 命名空间的所支持的一系列的 XML 标签来实现的。Spring 有以下主要的命名空 间:context、beans、jdbc、tx、aop、mvc 和 aso。
示例:
<beans>
<!-- JSON Support -->
<bean name="viewResolver" class="org.springframework.web.servlet.view.BeanNameVi
ewResolver"/>
<bean name="jsonTemplate"class="org.springframework.web.servlet.view.json.Mappi
ngJackson2JsonView"/>
<bean id="restTemplate" class="org.springframework.web.client.RestTemplate"/>
</beans>
这是熟悉的DispatcherServlet的配置
(二)基于注解的配置
Spring 对 Java 配置的支持是由@Configuration 注解和@Bean 注解来实现的。由@Bean 注解的方法将会实例化、配置和初始化一个新对象,这个对象将由 Spring 的 IoC 容器来管理。@Bean 声明所起到的作用与元素类似。被@Configuration 所注解的类则表示这个类的主要目的是作为bean 定义的资源。被@Configuration 声明的类可以通过在同一个类的内部调用@bean 方法来设置嵌入 bean 的依赖关系。
最简单的@Configuration 声明类请参考下面的代码:
@Configuration
public class AppConfig
{
@Bean
public MyService myService() {
return new MyServiceImpl();
}
}
(三)注解配置
Spring 在 2.5 版本以后开始支持用注解的方式来配置依赖注入。可以用注解的方式来替代 XML 方式的 bean 描述,可以将 bean 描述转移到组件类的内部,只需要在相关类上、方法上或者字段声明上使用注解即可。注解注入将会被容器在XML 注入之前被处理,所以后者会覆盖掉前者对于同一个属性的处理结果。
注解装配在 Spring 中是默认关闭的。所以需要在 Spring 文件
中配置一下才能使用基于注解的装配模式。如果你想要在你的
应用程序中使用关于注解的方法的话,请参考如下的配置。
<beans>
<context:annotation-config/>
<!-- bean definitions go here -->
</beans>
在标签配置完成以后,就可以用注解的方式在 Spring 中向属性、方法和构造方法中自动装配变量。
下面是几种比较重要的注解类型:
- @Required:该注解应用于设值方法。
- @Autowired:该注解应用于有值设值方法、非设值方法、构 造方法和变量。
- @Qualifier:该注解和@Autowired 注解搭配使用,用于消除 特定 bean 自动装配的歧义。
- JSR-250 Annotations:Spring 支持基于 JSR-250 注解的以 下注解,@Resource、@PostConstruct 和 @PreDestroy。