美文网首页
spring boot 部分注解

spring boot 部分注解

作者: zz云飞扬 | 来源:发表于2018-12-25 12:37 被阅读0次

1、 @RestController 

combines @Controller and @ResponseBody, two annotations that results in web requests returning data rather than a view. 

@RestController 是@controller 和 @ResponseBody 的合体。

2、@EnableAutoConfiguration注解

二个类级别的注解是 @EnableAutoConfiguration 。这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring。由于 spring-boot-starter-web 添加了Tomcat和Spring MVC,所以auto-configuration将假定你正在开发一个web应用并相应地对Spring进行设置。

你可以通过将 @EnableAutoConfiguration 或 @SpringBootApplication 注解添加到一个 @Configuration 类上来选择自动配置。

注:你只需要添加一个 @EnableAutoConfiguration 注解。建议你将它添加到主 @Configuration 类上。

如果发现应用了你不想要的特定自动配置类,你可以使用 @EnableAutoConfiguration 注解的排除属性来禁用它们。

@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})

3、@Configuration

指出该类是 Bean 配置的信息源,相当于XML中的<beans></beans>,一般加在主类上。

@Configuration:相当于传统的xml配置文件,如果有些第三方库需要用到xml文件,建议仍然通过@Configuration类作为项目的配置主类——可以使用@ImportResource注解加载xml配置文件。

3.1 @Import:用来导入其他配置类。

eg:

     @Import({Square.class,Circular.class})

     @Configuration

    public class MainConfig{

    }

    Square 和Circular 类没有打任何注解, 用了@import 和 @configuration在mainConfig 后, 这两个类的bean也初始化到容器中了。

3.2 @ImportResource:用来加载xml配置文件。

Spring Boot提倡基于Java的配置。尽管你可以使用一个XML源来调用 SpringApplication.run() ,我们通常建议你使用 @Configuration 类作为主要源。一般定义 main 方法的类也是主要 @Configuration 的一个很好候选。你不需要将所有的 @Configuration 放进一个单独的类。 @Import 注解可以用来导入其他配置类。另外,你也可以使用 @ComponentScan 注解自动收集所有的Spring组件,包括 @Configuration 类。

如果你绝对需要使用基于XML的配置,我们建议你仍旧从一个 @Configuration 类开始。你可以使用附加的 @ImportResource 注解加载XML配置文件。

@Configuration注解该类,等价 与XML中配置beans;用@Bean标注方法等价于XML中配置bean

@ComponentScan(basePackages = "com.hyxt",includeFilters ={@ComponentScan.Filter(Aspect.class)})

4、@PropertySource注解读取指定文件并将属性注入到配置类

@PropertySource( name="jdbc-bainuo-dev.properties",value= {"classpath:config/jdbc-bainuo-dev.properties"},ignoreResourceNotFound=false,encoding="UTF-8")

在打注解的类中相应属性上用 @Value("${spring.datasource.shareniu.url}") 注入相应的值

5、@ConfigurationProperties注解使用

@ConfigurationProperties(prefix="person") 默认加载全局配置文件 application.properties或application.yml

6、@SpringBootApplication 通常用在启动类上。

很多Spring Boot开发者总是使用 @Configuration , @EnableAutoConfiguration 和 @ComponentScan 注解他们的main类。由于这些注解被如此频繁地一块使用(特别是你遵循以上最佳实践时),Spring Boot提供一个方便的 @SpringBootApplication 选择。

该 @SpringBootApplication 注解等价于以默认属性使用 @Configuration , @EnableAutoConfiguration 和 @ComponentScan 。

Spring Boot将尝试校验外部的配置,默认使用JSR-303(如果在classpath路径中)。你可以轻松的为你的@ConfigurationProperties类添加JSR-303 javax.validation约束注解:

  @Component  

@ConfigurationProperties(prefix="connection") 

publicclass ConnectionSettings {  

  @NotNull 

private InetAddress remoteAddress; 

 // ... getters and setters  7}

7、@Profiles

Spring Profiles提供了一种隔离应用程序配置的方式,并让这些配置只能在特定的环境下生效。任何@Component或@Configuration都能被@Profile标记,从而限制加载它的时机。

@Configuration 

@Profile("production") 

public class ProductionConfiguration { 

 // ... 

}

相关文章

网友评论

      本文标题:spring boot 部分注解

      本文链接:https://www.haomeiwen.com/subject/krzxlqtx.html