spring boot(二):注解大全

序言

 

spring boot注解

@Autowired

  注解的意思就是,当Spring发现@Autowired注解时,将自动在代码上下文中找到和其匹配(默认是类型匹配)的Bean,并自动注入到相应的地方去。

@Bean

  相当于XML中的<bean></bean>,放在方法的上面,而不是类,意思是产生一个bean,并交给spring管理。

@Bean是一个方法级别上的注解,主要用在@Configuration注解的类里,也可以用在@Component注解的类里。添加的bean的id为方法名

@Configuration
public class AppConfig {
    @Bean
    public TransferService transferService() {
        return new TransferServiceImpl();
    }
}

这个配置就等同于之前在xml里的配置

<beans>
    <bean id="transferService" class="com.acme.TransferServiceImpl"/>
</beans>

@Controller

@CookieValue

@Configuration 等同于spring的XML配置文件;使用Java代码可以检查类型安全。

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

@ComponentScan 组件扫描,可自动发现和装配一些Bean。

@Component

  泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。: 将当前类注册为spring的Bean

@ConfigurationProperties(prefix = "appSettings.key")

@Data

   @data注解的作用:不用额外的使用setter、getter方法,配置好以后就可反复使用。

@EnableAutoConfiguration 自动配置。

@GetMapping(value = "profile")

@ImportResource

  SpringBoot提倡零配置,即无XML配置,但实际上有些特殊的配置需要使用XML配置。我们可以通过Spring提供的@ImportResource来加载XML配置.

  @ImportResource({"classpath:some-context.xml","classpath:another-context.xml"})

@JsonBackReference解决嵌套外链问题。

@ModelAttribute

@MapperScan

@PostMapping(value = "/profile")

@RequestParam,@PathParam,@PathVariable等注解区别

  https://blog.csdn.net/u011410529/article/details/66974974

@PathVariable

  获取参数。

@RequestParam

@RequestBody

@RequestMapping

  a:value,指定请求的地址 
  b:method 请求方法类型 这个不写的话,自适应:get或者post
  c:consumes 请求的提交内容类型 
  d:produces 指定返回的内容类型 仅当request请求头中的(Accept)类型中包含该指定类型才返回
  e: params 指定request中必须包含某些参数值 
  f:headers 指定request中必须包含指定的header值

@RequestParam

@RequestHeader

@RequestMapping

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

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

@repository

  用于标注数据访问组件

@ResponseBody

@Resource

@Service

  用于标注业务层组件 : 将当前类注册为spring的Bean

@SpringBootApplication 

  @SpringBootApplication=@ComponentScan+@Configuration+@EnableAutoConfiguration:约定优于配置

  关闭特定的自动配置

  通过@SpringBootApplication注解的参数exclude参数实现:

  @SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class})

@SessionAttributes

@Transactional(rollbackFor = TipException.class)

   Spring团队建议在具体的类(或类的方法)上使用 @Transactional 注解,而不要使用在类所要实现的任何接口上。

@EnableAsync

异步执行,就是开启多线程的意思

spring注解

@PostConstruct

@Scheduled(cron = "0 0/1 * * * *")

  @Scheduled(cron = "0 0/1 * * * *")
    @PostConstruct
    public void refreshCache() {

}
View Code

 

 

 

资料

https://www.cnblogs.com/lori/p/10418271.html

https://www.cnblogs.com/tanwei81/p/6814022.html

http://www.cnblogs.com/youclk/p/8613551.html

posted @ 2018-03-07 17:19  ~沐风  阅读(284)  评论(0编辑  收藏  举报