@SpringBootApplication启动类下关键的三个注解是什么?
@Configuration的作用上面我们已经知道了,被注解的类将成为一个bean配置类。
@ComponentScan的作用就是自动扫描并加载符合条件的组件,比如@Component和@Repository等,最终将这些bean定义加载到spring容器中。
@EnableAutoConfiguration 这个注解的功能很重要,借助@import的支持,收集和注册依赖包中相关的bean定义。
@SpringBootApplication注解是三个注解的结合体,拥有以下三个注解的功能: - @Configuration:用于声明Spring中的Java配置; - @ComponentScan:启用组件扫描,当我们声明组件时,会自动发现并注册为Spring应用上下文中的Bean; - @EnableAutoConfiguration:开启SpringBoot自动配置功能,简化配置编写。
springboot的自动注入的三种方式是什么?
方式1:自动化装配Bean
自动化装配依赖组件扫描@ComponentScan,该注解默认会扫描当前包以及当前包下的所有组件,装配到spring容器中。
可以扫描哪些组件
@Component @Service @Controller等
如果我们想将第三方的组件装配到spring容器,那么自动化装配就行不通了,因为没有办法在它的类上添加@Component.在这种情况下就需要采用显示装配,有两种可选方案:java和XML.
方式2:显示配置Bean–java方式
通过@Configuration创建配置类,然后在配置类中编写一个方法,该方法会创建所需类型的实例,然后给这个方法添加@Bean注解
方式3:显示配置Bean–XML方式
第一步,创建一个标准的xml配置文件,该配置文件的顶部声明多个xml模式(xsd)文件,这些文件定义了配置Spring的xml元素。通过将book声明为一个Bean.然后通过构造器和属性注入依赖和字面值。
接下来如何让spring发现这个xml文件,并把其中的bean实例化到容器中呢?
答案就是@importResource注解
引用用@Resource(和正常的注入是一样的)
@Resource private ThreadPoolTaskExecutor nonCoreTaskExecutor;
ThreadPoolTaskExecutor为外部的依赖 nonCoreTaskExecutor为bean的ID
【springboot学习】注册bean三种方式_fxkcsdn的博客-CSDN博客_注册bean的方式
spring boot获取bean的三种方式
方式1:实现ApplicationContextAware接口,并加入Component注解,让spring扫描到该bean
SpringUtil.getBean("testDemo")
方式2:同样需要实现接口:ApplicationContextAware
使用@Bean注解,在App.java类中将SpringUtil注解进
@Bean
public SpringUtil2 getSpringUtil2() {
return new SpringUtil2();
}
方式3:@import进行导入
@import(SpringUtil2.class)
springboot获取Spring容器中的bean_人生最遗憾的莫过于:轻易地放弃了不该放弃的,固执地坚持了不该坚持的-CSDN博客_springboot 如何获取bean
Spring boot可扫描的bean注解是什么?
@Component @Service @Controller
Controller有几种?2种
@Controller. :这类型的controller返回值表示要展示的页面或要跳转到哪个请求。
@RestController:这类型的controller返回值是一些对象,这些对象要被序列化成JSON、XML等其他格式,并不是表示要跳转到哪个HTML模板。
必须知道的Spring Boot中的一些Controller注解 - 云+社区 - 腾讯云
有几种路由
路由:
@GetMapping
@PostMapping
@PutMapping
@PatchMapping
@DeleteMapping
@RequestMapping
使用@RequestBody来捕获前端发送过来的JSON串,然后反序列化到我们的请求模型UserCreateRequest:
@PostMapping public User create(@RequestBody UserCreateRequest request) {...}
springboot扫描组件_肝了一周总结的SpringBoot实战教程,太实用了!_weixin_39564386的博客-CSDN博客
下面是Spring的
主要有四种注解可以注册bean,每种注解可以任意使用,只是语义上有所差异:
- @Component:可以用于注册所有bean@Repository:主要用于注册dao层的bean@Controller:主要用于注册控制层的bean@Service:主要用于注册服务层的bean
Spring常用的三种注入方式 - 沫小淘 - 博客园
spring注入的三种方式
在介绍注解注入的方式前,先简单了解bean的一个属性autowire,autowire主要有三个属性值:constructor,byName,byType。
constructor:通过构造方法进行自动注入,spring会匹配与构造方法参数类型一致的bean进行注入,如果有一个多参数的构造方法,一个只有一个参数的构造方法,在容器中查找到多个匹配多参数构造方法的bean,那么spring会优先将bean注入到多参数的构造方法中。
byName:被注入bean的id名必须与set方法后半截匹配,并且id名称的第一个单词首字母必须小写,这一点与手动set注入有点不同。
byType:查找所有的set方法,将符合符合参数类型的bean注入。
1、构造方法注入
2、setter注入
3、基于注解的注入
构造器注入和setter注入都是通过java的反射技术得以实现的。
JAVA反射原理
JAVA反射原理_qq_43519025的博客-CSDN博客
MyBatis的引入方式
Spring Boot中使用MyBatis_xo_zhang的专栏-CSDN博客
springboot整合mybatis使用xml实现sql语句的配置_奔跑的菜鸡-CSDN博客_yml配置mybatis和xml配置mybaitis



