springboot
2021-12-14 00:23:41 0 举报
AI智能生成
springboot技术思维导图
作者其他创作
大纲/内容
springboot设置随机端口号
好处
避免端口冲突进行端口修改
如何操作
server.port=${random.int[2000,8000]}
spring将xml注入到项目中,启动就能用
@ImportResource({"classpath*:jsf-*.xml"})
springboot不是有各种的环境嘛,下面的代码可以限定某种类型下的才能访问
@Profile({"prod", "yufa", "dev"})
设置统一访问前缀
@Configuration
public class WebMvcForApiPrefix implements WebMvcConfigurer {
@Override
public void configurePathMatch(PathMatchConfigurer configurer) {
configurer.addPathPrefix("/api", c -> c.isAnnotationPresent(RestController.class));
}
}
public class WebMvcForApiPrefix implements WebMvcConfigurer {
@Override
public void configurePathMatch(PathMatchConfigurer configurer) {
configurer.addPathPrefix("/api", c -> c.isAnnotationPresent(RestController.class));
}
}
常见的注解有哪些
启动注解 @SpringBootApplication
扫描包范围@ComponentScan
开启自动配置功能 @EnableAutoConfiguration
子主题
@Controller
@RestController
组合注解:主要面向接口
@Controller
@ResponseBody
@ResponseBody
@RequestBody
主要用来接收前端传递给后端的json字符串中的数据的
请求体(json)
@ResponseBody
返回json
@RequestMapping
可以设置各种操作方法
@GetMapping
@PostMapping
@PutMapping
@DeleteMapping
@PathVariable
处理请求 url 路径中的参数 /user/{id}
@RequestParam
用于将指定的请求参数赋值给方法中的形参。
三个属性
value:请求参数名(必须配置)
required:是否必需,默认为 true,即 请求中必须包含该参数,如果没有包含,将会抛出异常(可选配置)
defaultValue:默认值,如果设置了该值,required 将自动设为 false,无论你是否配置了required,配置了什么值,都是 false(可选配置)
springboot的配置文件有哪些
(1)bootstarp
yml
(2)application
yml
properties
springboot的启动流程
springboot启动类上有个@SpringbootApplication是个组合注解
上面有@ComponentScan 包扫描路径
@EnableAutoConfiguration 开启自动装配
@SpringBootConfiguration将bean交给spring管理
在run的方法的时候先判断项目类型推断
jjava项目
web项目
异步项目
接着会把MWETA/INF下的spring.factories里有关自动装配相关的监听类的全路径类名拿到
加载到缓存放到集合里,包括自己的类和一些start的第三方包
然后去找main方法去加载
调用args方法,去将加载到类里面的信息进行初始化操作通过反射
循环注入的问题如何解决
WebMvcConfigurer|各种拦截方法
WebMvcConfigurer
0 条评论
下一页