spring spring mvc springBoot 常用注解

Spring

@Requird

用于bean的setter方法上,表示此属性是必须的,必须在配置阶段注入,否则会抛出异常

@Autowired

用于bean的成员,setter方法上以及构造方法,显示地声明依赖,spring 会扫描所有被@Autowired所标注的类,根据类型在IOC容器中找到匹配的类注入。
使用:
1.基于XML:需要事先声明autowiredAnnotationBeanPostProcessor



   	
 

   	

ref:引用一个已经存在的对象
value : 创建一个新的对象 可以赋值和对象的值

当Bean类型产生歧义,我们需要使用@Qualifier(“”)指定具体名。此时自动注入的策略从byType–》byName
2.基于注解是:使用@component (组件)(@serive @controller)
将类标识为spring 受管组件 但是spring中需要在XML中开启(context:component-scan/)(包扫描。隐式开启注释驱动自动注入的功能
默认情况下@component 定义的bean为singleton 更改作用域使用@Scope

自动注入环节:开启自动注入功能,定义bean 交给 ioc容器管理,使用@Autowired 注入依赖 若需要指定具体bean 使用@Qualifer。更改作用域使用@Scope

@Configuration

类级别注解,在class层面定义 bean 代表此类可以使用@Bean来初始化定义bean

@ComponentScan

一般与@Configuration一起使用,包扫描注解,指定spring扫描注解的package

@Lazy

延迟初始化bean 可以使用Lazy 表示bean 只有在第一次使用时才会被创建初始化,也可使用在被@Configuration注解的类上,表示所有的@Bean的方法延迟初始化

Spring MVC

@Controller

@Component的具体形式,使用在controller控制层的类中

@RequestMapping

类,方法级别。用来映射web请求到某一个handler类或handler方法上
当此类注解用在class上时,创造了一个急促的url,其所有的方法上的@RequestMapping都在此url上

使用:

@RequestMapping(value = "post" method=request.method.post)
//新使用
@GetMapping
@PostMapping
@PutMapping
@DeleteMapping

@PathVariable /@RequestBody

用在handler方法的参数上,将路径中的参数绑定到请求方法参数
后者将http请求的Body映射绑定到此参数

@ResponseBody

此注解用在请求handler方法上。和@RequestBody作用类似,用于将方法的返回对象直接输出到http响应中。

@RestController

= @Controller +@ ResponseBody
用于class上。restful风格常用

Spring Boot

@SpringBootApplication

核心注解,启动后对此类在的所有包下的类扫描

  • @configuration
  • @EnableAutoConfiguration
  • @ComponentScan

@Component

声明一个spring 组件,将其加载到应用上下文

@Transactional

事务注解:可以了解下事务的传播行为

@ ContextConfiguration

类级别,使用在class上,声明测试使用的配置文件,也可以指定加载上下文的类

搭配springJUnit4ClassRunner使用

纯文字介绍,若想看有示例的
大佬文章
了解更详细的自动注入

你可能感兴趣的:(java,java)