一、注解
-
Java注解是附加在代码中的一些元信息,用于一些工具在线编译,运行时进行解析和使用,起到说明、配置的功能;
-
注解本质上继承了Annotation接口,我们可以通过反射获取注解的相关信息,从而实现逻辑操作;
-
SpringBoot里面使用了大量的注解,@Controller、@RestController、@Service、@Autowired等
二、Spring框架
-
Spring框架是轻量级的DI/IOC/AOP容器的开源框架
-
bean:在Spring里,每一个对象就是一个bean(豆子,类似于把豆子放入一个罐中)
-
该框架的好处:
-
管理创建和组装对象间的依赖关系,加了Spring注解的类会自动创建一个实例(比如某一个类加了注解,那它就会自动帮我们把这个类实例化),然后加入到Spring的IOC容器中,然后哪里需要它,就可以实现自动赋值。
使用前:手动创建(new) Controller -> Service -> Dao 在UserController中调用UserService private UserService userService = new UserService();
使用后:Spring创建,自动注入(只需要添加一个注解即可) Controller ->Service -> Dao 在UserController中调用UserService @Autowired private UserService userService;
Spring会扫描整个项目,寻找它认识的注解(例如@Service、@RestController),遇到认识的注解的时候,它就会将该类自动实例化形成对象,放入容器中;之后遇到哪里需要(例如有@Autowired的时候就代表有需要)这个对象的时候,把对象自动赋值过去;