Spring Boot常用注解


@SpringBootApplication:

许多Spring Boot开发人员喜欢他们的应用程序使用自动配置、组件扫描,并能够在他们的“应用程序类”上定义额外的配置,可以使用一个@SpringBootApplication注解来启用这三个特性:

  • @EnableAutoConfiguration:启用Spring Boot的自动配置机制
  • @ComponentScan:在应用程序所在的包上启用@Component扫描(参见最佳实践)
  • @Configuration:允许在上下文中注册额外的bean或导入额外的配置类

@SpringBootApplication注解与使用@Configuration、@EnableAutoConfiguration和@ComponentScan的默认属性等效


@Configuration:

这是一个类级注解。如下所示,被它注解的类可能包含多个被@Bean注解的方法。Spring容器会调用这些方法,获得你初始化后的对象实例,并把他们注册为容器内的beans。

@Configuration
public class MyAppConfig {
    @bean
    public SomeBean someBean() {
        // 实例化并返回,也可进行初始化
        return new SomeBeanImpl();
    }
}

同等作用的XML配置会像下面这样:

<bean name="someBean" class="spring.example.SomeBeanImpl"/>

@Configuration类们实际上就是Spring管理的用于创建并注册bean实例的工厂。

@EnableAutoConfiguration:

Spring Boot会自动根据你jar包的依赖来自动配置项目。
例如当你项目下面有HSQLDB的依赖时,Spring Boot会创建默认的内存数据库的数据源DataSource,如果你自己创建了DataSource,Spring Boot就不会创建默认的DataSource。


@ComponentScan:

用于指定包的扫描路径。用于代替spring的xml配置文件中的<context:componet-scan base-package=""/>标签。

spring会去自动扫描base-package对应的路径或者该路径的子包下面的 带有@Service,@Component,@Repository,@Controller注解的java文件。

例如,如果你有个类用@Controller注解标识了,那么如果不加上@ComponentScan,自动扫描该Controller,那么该Controller就不会被Spring扫描到,更不会装入Spring容器中,因此你配置的这个Controller也没有意义。


@RestController:

注解是@Controller和@ResponseBody的合集,表示这是个控制器bean, 并且是将函数的返回值直 接填入HTTP响应体中, 是REST风格的控制器。

@Component 可配合CommandLineRunner使用, 在程序启动后执行一些基础任务。

@PathVariable: 获取参数。

@JsonBackReference: 解决嵌套外链问题。

@RepositoryRestResourcepublic: 配合spring-boot-starter-data-rest使用。

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

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

@Autowired: 自动导入依赖的bean

@Service: 一般用于修饰service层的组件

@Repository: 使用@Repository注解可以确保DAO或者repositories提供异常转译,这个注解修饰的DAO或者repositories类会被ComponetScan发现并配置,同时也不需要为它们提供XML配置项。

@Bean: 用@Bean标注的方法等价于XML中配置的bean。

@Value: 注入Spring boot application.properties配置的属性的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值