springboot本质上就是spring,只不过它省去了spring的繁杂的xml配置问题,给开发者更方便搭建项目的方式。
springboot的常用注解
- @SpringBootApplication
这是一个注解组合,组合里主要有这三个重要的注解:用在springboot的启动类上(替代@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan)
@SpringBootConfiguration: 继承@Configuration注解,声明在类上,表示这是一个IOC容器,相当于spring的配置文件。 IOC容器的配置类一般与 @Bean 注解配合使用,用 @Configuration 注解类等价与 XML 中配置 beans,用@Bean 注解方法等价于 XML 中配置 bean。
@EnableAutoConfiguration: (这个很重要,springboot开启自动配置,会自动加载配置)能够将所有符合自动配置条件的bena加载到spring容器中。
@ComponentScan: 会将当前包和其子包所有被@Component,@Controller,@Service,@Repository等注解标记的类并纳入到spring容器中进行管理。
组件注册
- @ComponentScan,扫描启动类目录下的所有符合条件的Bean,并注入容器
- @Controller,用于标注控制层组件
- @RestController: Conroller层注解,@ResponseBody和@Controller的合集
前后端分离: controoler层方法返回的json数据时使用**@RestController**
前后端不分离:controller层使用**@Controller**
- @Repository,用于标注数据访问组件,即DAO组件
- @Service: service业务层所使用的注解
- @Bean: 用在方法上,产生一个bean,交给spring容器进行管理。
- @Configuration: spring的容器,相当于spring的xml配置文件,一般用在主类上,和**@bean**一起使用。
- @AutoWired: 用来将spring容器中的实例bean注入到类中,常用在类中属性上,通过type类型注入。
- @Resource: 和上面的注解一样,都是用来注入实例bean到类中的,只不过这个是通过name类型注入。
- **@RequestMapping:**是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。(一般在controller层中使用)
- @GetMapping、@PostMapping 用法和上面类似,都是请求地址映射注解。
@RequestBody和@RequestParam
两个注解都是用于方法中接收参数使用的,两者也有一定的区别
- @RequestBody: 可以直接将前台页面中的参数封装成实体类中的数据传输给后台。
- @RequestParam: 用在方法的参数前面。相当于 request.getParameter();
用在方法的参数前面。@RequestParam String a =request.getParameter(“a”)。
- @PathVariable: 获取请求地址栏上占位符的值