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() { }
资料
https://www.cnblogs.com/lori/p/10418271.html
https://www.cnblogs.com/tanwei81/p/6814022.html
http://www.cnblogs.com/youclk/p/8613551.html