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

   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2023-05-30 23:33  榕先生  阅读(22)  评论(0)    收藏  举报  来源