SpringBoot注入依赖及注解

作为一个超级小白,使用SpringBoot的感受就是SpringBoot的很多东西不明觉厉,虽然不是很熟悉,但是还是感性的体会到了很方便,比如如果缺少依赖的时候,会提醒你且会自动引入,且有很多注解可以拿来用。以前从来没接触过这么多注解,所以就总结一下。

依赖注入

在查找资料的过程中,发现有些注解和依赖注入有关,什么是依赖注入?以前使用一个对象的时候需要new一个对象出来,而且对象之间存在依赖关系,B类的对象可能是A类的属性,在A类中new出B对象,增加了类之间的耦合性。于是,就有了控制反转(IoC)和依赖注入(DI)的概念。控制反转就是将对象的实例化过程交给spring框架来做,依赖注入就是将A对象所依赖的B对象以配置文件或注解的形式传递给A对象。

在Spring中,你不需要自己创建对象,你只需要告诉Spring,哪些类我需要创建出对象,然后在启动项目的时候Spring就会自动帮你创建出该对象。

在SpringBoot中使用依赖注入的方式很简单,只需要添加相应的注解即可。

注解分类

一类是使用Bean,即Bean拿来用,完成属性、方法的组装。比如@Autowired , @Resource,可以通过byTYPE(@Autowired)、byNAME(@Resource)的方式获取Bean。一般用来修饰字段,构造函数,或者设置方法,并做注入。

一类时注册Bean,@Component , @Repository , @ Controller , @Service , @Configration,一般修饰类,这些注解都是把你要实例化的对象转化成一个Bean,放在IoC容器中,等你要用的时候,它会和上面的@Autowired , @Resource配合到一起,把对象、属性、方法完美组装。

常用注解

@Service用于标注业务层组件
@Controller用于标注控制层组件
@Repository用于标注数据库访问Dao组件
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注
@Autowired,自动注入,自动从spring的上下文找到合适的bean来注入
@RestController,Spring4之后新加入的注解,原来返回json需要@ResponseBody和@Controller配合,将调用的结果直接返回给调用者。
@Value:注入Spring boot application.properties配置的属性的值。
@RequestMapping:提供路由信息,负责URL到Controller中的具体函数的映射。@RequestMapping(“/path”)表示该控制器处理所有“/path”的UR L请求。RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。
@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。该注解将HTTP Get 映射到 特定的处理方法上。
同理PostMapping也是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。
@PathVariable:获取url中的数据。
@ComponentScan 组件扫描,发现和组装一些Bean。
@EnableAutoConfiguration自动配置。
@SpringBootApplication:申明让spring boot自动给程序进行必要的配置,这个配置等同于:@Configuration ,@EnableAutoConfiguration 和 @ComponentScan 三个配置。
@Data 自动生成setter、getter方法
@Import:用来导入其他配置类。
@ImportResource:用来加载xml配置文件。
@Bean:放在方法的上面,而不是类,意思是产生一个bean,并交给spring管理。
@Inject:等价于默认的@Autowired,只是没有required属性;

你可能感兴趣的:(SpringBoot注入依赖及注解)