springboot知识点总结
持续更新中....
一、springboot+mybatis整合
配置文件:
pom.xml添加oracle和mybatis依赖:
<dependency>
<groupId>ojdbc</groupId>
<artifactId>ojdbc</artifactId>
<version>6</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
resource/application.properties添加数据库连接的地址、用户名、密码
spring.datasource.url:jdbc:oracle:thin:@127.1.1.0:1521:XE
spring.datasource.username:xiaoming123
spring.datasource.password:xiaomingpassword
springboot+mybatis框架 github地址:https://github.com/rongrong93/springboot-mybatis
易出错点:
1. mybatis的XXXXmapper.java接口所对应的XXXmapper.xml文件存放位置:resources/XXXXmapper.java对应的包目录
二、返回数据到前台
返回类型定义为:ModelAndView
@RequestMapping("/toIndex")
public ModelAndView functionName(){
ModelMap model = new ModelMap();
model.addAttribute("hello","helloworld");
return new ModelAndView("index",model);
}
前台取值:
1.引入 <html lang="en" xmlns:th="http://www.thymeleaf.org">
2.test:<p th:text="${hello}"></p>
1. @RequestMapping(value="/login",method={RequestMethod.POST,RequestMethod.GET})
页面访问后台时,访问action定义。
value为前台访问地址。method为提交方式;
2. @GetMapping("/login")、@PostMapping("/login")
功能等同第一点,分别为method={RequestMethod.GET}和method={RequestMethod.POST}的缩写
3. @Value("${userName}")
private String username ;
未属性赋值(值取自application.properties配置文件中)
application.properties赋值:userName=zhangsan
4. @Autowired
属性自动实例化
5. @ResponseBody
@RequestMapping(value="XXX")
ResponseBody 和requestMapping合用放在方法上,此时返回的字符串,直接显示在调用页面上
适合使用ajax时使用.
6. @RestController
是@ResponseBody和@Controller的组合注解
该注释可和@Controller同时使用
如果使用了@RestController注释,方法上可以不使用ResponseBody注释,就可实现直接返回字符串显示在界面上。
7. @ComponentScan(basePackages = {"扫描包路径"})
让spring Boot扫描到Configuration类并把它加入到程序上下文
如果没配置,会找不到controller类,页面报找不到页面(404)的错误
8. @Controller:用于定义控制器类,在spring 项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层),
用于前后台的交互.
通常方法需要配合注解@RequestMapping或者GetMapping、PostMapping使用。
9. @Bean:用@Bean标注方法等价于XML中配置的bean。
用于服务器启动的时候对Bean类的加载,如果是普通Bean,没有进行Bean注释的加载动作。
服务器启动的时候,会对
@Autowired
TestBean testBean;
报找不到该类的错误,服务启动失败...
如果bean类是用作和数据库交互的bean,不需要@Bean加载
10.@Configuration 等同于spring的XML配置文件;使用Java代码可以检查类型安全。
可以在该类下面使用Bean...等注释,实现配置功能.
11.@SpringBootApplication
含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。
12.@ExceptionHandler(Exception.class)+ @ControllerAdvice合用
全局异常处理
@ExceptionHandler //注释在方法上
@ControllerAdvice //注释在类上
表示遇到这个异常就执行以下方法。
13.yaml配置的属性映射到Bean里面
@ConfigurationProperties(prefex="yml中的节点名")注解Bean类
@Component 也需要注解Bean,将Bean类纳入容器组建中
14.springboot 测试
类名注解:@RunWith(SpringRunner.class)
@SpringBootTest
方法名:@Test
15.Bean类属性单独赋值
@Value("${person.last-name})
private String last-name;
区别
//不支持松散绑定 比如写lastName没办法绑定到yml中的last-name ,ConfigurationProperties //Confi...不支持表达式运算,Value支持
16.@PropertySource(value={classpath:person.properties})
和ConfigurationProperties类似,不过它是读取指定配置文件的内容
17.@ImportResource //导入特定配置文件 , 放在Application启动类上,用于启动加载
18. @Bean
将方法的返回值添加到容器中,容器中组件默认的id就是方法名
19.当有多重环境的时候
1.可以使用yml的文档块模式
2.使用properties的时候,使用spring.profiles.active=dev/test/prod...等来指定特定的属性文件
3.使用命令行 在启动的时候,启动命令后跟参数spring.profiles.active=dev
20.配置文件的优先级:最高是项目根目录下的config>根目录> resource下config目录> resource目录下配置文件
springboot会加载所有级别的配置文件:互补配置
21. SpringBoot启动的时候加载主配这类,开启了自动配置功能 @EnabnleAutoConfiguration
浙公网安备 33010602011771号