SpringBoot 学习笔记 (二)
IDEA开启热部署
- build.gradle中引入 compile(“org.springframework.boot:spring-boot-devtools”)
- windows:ctrl + alt + shift + /
- 点击Registry,勾选compiler.automake.allow.when.app.running
- 勾选如图
Springboot中默认的内部静态资源路径有:
1.classpath:/META-INF/resources/
2.classpath:/resources/
3.classpath:/static/
4.classpath:/public/
外部静态资源路径配置
1.application.properties配置
ImagePath=D:/test/
spring.mvc.static-path-pattern=/**
spring.resources.static-locations=file:${ImagePath},classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/
ImagePath:外部文件夹路径,注意要带”/”
spring.mvc.static-path-pattern:静态路径,/**为根目录
spring.resources.static-locations:映射的文件路径,注意:这里按顺序进行映射,比如上传路径映射为D:/test/image/
同时项目工程的static目录下同样用image目录,按照上述的配置,.则以D:/test/image/优先级。
引用外部配置文件application.properties
配置文件分4种:
1.在jar包的同一目录下建一个config文件夹,然后把配置文件放到这个文件夹下;
2.直接把配置文件放到jar包的同级目录;
3.在classpath下建一个config文件夹,然后把配置文件放进去;
4.在classpath下直接放配置文件。
优先级:按顺序依次降低。
命令及其他方式暂不介绍,感觉不实用。
application.properties配置文件属性的使用
配置文件如下
server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/ydyl?useSSL=false&allowMultiQueries=true
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
ImagePath=D:/test/
spring.mvc.static-path-pattern=/**
spring.resources.static-locations=file:${ImagePath},classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/
1.@Value注解(推荐)
格式:@Value(“${xxx}”)
代码示例:
注意:
SpringBoot不支持注入静态变量,但Spring boot支持set方法注入,我们可以利用非静态set方法注入静态变量(记得写上@Component注解)
例如:
2.@ConfigurationProperties注解,对象注入,需要注意格式,需要的自行百度。
Cros跨域访问
@Configuration
public class CorsConfig {
@Bean
public FilterRegistrationBean corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true);
//config.addAllowedOrigin("http://localhost:8080");
// 设置你要允许的网站域名,如果全允许则设为 *
config.addAllowedOrigin(CorsConfiguration.ALL);
// 如果要限制 HEADER 或 METHOD 请自行更改
config.addAllowedHeader(CorsConfiguration.ALL);
config.addAllowedMethod(CorsConfiguration.ALL);
source.registerCorsConfiguration("/**", config);
FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source));
bean.setOrder(Ordered.HIGHEST_PRECEDENCE);
return bean;
}
}
MyBatis多参数传递
使用Param注解
SpringBoot接收json格式数据并赋值到对象
使用@RequestBody 注解
public String getTest(@RequestBody Test test)
Test可以为复杂对象包含其他对象list,但json格式要与javaBean对象格式一致
MySql链接查询
MyBatis相关
官方文档已经介绍的太详细了,直接送传送门
MyBatis传送门