zoukankan      html  css  js  c++  java
  • Spring Boot中的注解

    文章来源:http://www.tuicool.com/articles/bQnMra

    在Spring Boot中几乎可以完全弃用xml配置文件,本文的主题是分析常用的注解。

    Spring最开始是为了解决EJB等大型企业框架对应用程序的侵入性,因此大量依靠配置文件来“非侵入式”得给POJO增加功能,然而,从Spring 3.x开始,Spring被外界最为诟病的一点就是配置繁多,号称“配置地狱”,各种xml文件,出了问题非常难排查。从Spring 4.x开始,Spring.io提供了三种方式编织Bean:

    • 利用注解:隐式配置,例如:@Autowired、@Bean、@Component等,通过注解来简化xml文件。
    • 利用Java文件:显示配置,比xml配置的优势是具备类型安全
    • 利用传统的xml配置文件

    注解(annotations)列表

      1. @ResponseBody 
        用该注解修饰的函数,会将结果直接填充到HTTP的响应体中,一般用于构建RESTful的api;
      2. @Controller 
        用于定义控制器类,在spring 项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层)。
      3. @RestController 
        @ResponseBody和@Controller的合集
      4. @RequestMapping 
        提供路由信息,负责URL到Controller中的具体函数的映射。
      5. @EnableAutoConfiguration 
        Spring Boot自动配置(auto-configuration):尝试根据你添加的jar依赖自动配置你的Spring应用。例如,如果你的classpath下存在HSQLDB,并且你没有手动配置任何数据库连接beans,那么我们将自动配置一个内存型(in-memory)数据库”。你可以将@EnableAutoConfiguration或者@SpringBootApplication注解添加到一个@Configuration类上来选择自动配置。如果发现应用了你不想要的特定自动配置类,你可以使用@EnableAutoConfiguration注解的排除属性来禁用它们。例子代码如下:
      6. @ComponentScan 
        表示将该类自动发现(扫描)并注册为Bean,可以自动收集所有的Spring组件,包括@Configuration类。我们经常使用@ComponentScan注解搜索beans,并结合@Autowired注解导入。
      7. @Configuration 
        相当于传统的xml配置文件,如果有些第三方库需要用到xml文件,建议仍然通过@Configuration类作为项目的配置主类——可以使用@ImportResource注解加载xml配置文件。
      8. @SpringBootApplication 
        相当于@EnableAutoConfiguration、@ComponentScan和@Configuration的合集。
      9. @Import 
        用来导入其他配置类。
      10. @ImportResource 
        用来加载xml配置文件。
      11. @Autowired 
        自动导入依赖的bean
      12. @Service 
        一般用于修饰service层的组件
      13. @Repository 
        使用@Repository注解可以确保DAO或者repositories提供异常转译,这个注解修饰的DAO或者repositories类会被ComponetScan发现并配置,同时也不需要为它们提供XML配置项。
  • 相关阅读:
    ASP.NET Web API 框架研究 Self Host模式下的消息处理管道
    ASP.NET Web API 框架研究 Web Host模式下的消息处理管道
    ASP.NET Web API 框架研究 核心的消息处理管道
    ASP.NET Web API 框架研究 Web Host模式路由及将请求转出到消息处理管道
    ASP.NET Web API 框架研究 ASP.NET Web API 路由
    ASP.NET Web API 框架研究 ASP.NET 路由
    ASP.NET Web API 入门 (API接口、寄宿方式、HttpClient调用)
    MVVM模式
    RESTful Web API 理解
    C# 函数式编程及Monads.net库
  • 原文地址:https://www.cnblogs.com/benefitworld/p/5870145.html
Copyright © 2011-2022 走看看