介绍
springboot 是所有基于spring开发的项目的,springboot 的设计师为了让我们尽可能的快的跑起来,spring应用程序并且尽可能减少你的配置文件。
和前端交互
1,前端的HTTP请求会到controller这一层,而controller层根据相应路由信息注解会跳转到相应的类;
2,在框架经过处理之后,最终调用的是mapper层。
3,在执行相应的sql后,将会依次返回到controller层,然后在HTTP的返回中将会以json串对象返回给前端的调用方。
4,前端在HTTP的response中拿到返回的值,然后在进行一些处理。
概念
- spring IOC容器:主要用来管理对象和依赖,以及依赖的注入
- 依赖注入不用new,用spring控制new的过程
- 控制反转:不是用new的方式实例化对象,实质的控制权已经交给程序管理
- 面向切面:把一些功能抽离出来,在通过“动态织人”的方式渗入到业务中
Bean
bean是一个对象,用IOC生成的对象就是bean
配置VS注解
注解
@SpringBootApplication
@SpringBootApplication = @Configuration + @EnableAutoConfiguration + @ComponentScan 简化程序的配置。
@Configuration
注解在类上,表示这是一个IOC容器,相当于spring的配置文件,IOC容器的配置类。
@ComponentScan
如果扫描到有@Component @Controller @Service等这些注解的类,则把这些类注册为bean。@Controller, @Service, @Repository是@Component的细化,这三个注解比@Component带有更多的语义,它们分别对应了控制层、服务层、持久层的类。
@RestController
告诉Spring以JSON字符串的形式渲染结果,并直接返回给调用者。
@RequestMapping
告诉Spring这是一个用来处理请求地址映射的注解。
@Autowired
可以对类成员变量、方法及构造函数进行标注。从ioc容器中去查找,并自动装配。(去除@Autowired可以运行一下试试)
Mybatis的@Mapper
注解的接口生成一个实现类
跨域
浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域。
跨域资源共享(CORS) 是一种机制,它使用额外的 HTTP 头来告诉浏览器 让运行的Web应用被准许访问来自不同源服务器上的指定的资源。