JAVA_Spring Boot 学习笔记

本文详述了Spring Boot中的关键注解,包括@Repository、@GetMapping、@Data等,以及如何处理数据库操作、注解使用技巧、集合与数组的区别、Map操作、数据源配置、日志依赖、序列化、Mybatis集成和动态SQL等知识点,旨在帮助读者深入理解Spring Boot的使用。
摘要由CSDN通过智能技术生成

1.pom文件加入新的依赖,再写代码没有提示。

答:右击项目名称,Mavean>Reload project。

2.@Data相当于@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode这5个注解的合集。

3.@Repository用于标注数据访问组件,即DAO组件;他在类路径下寻找标注了上述注解的类,并把这些类纳入进spring容器中管理。

@Repository:这个注解是具有类似用途和功能的@Component 注解的特化。它为 DAO 提供了额外的好处。它将 DAO 导入 IoC 容器,并使未经检查的异常有资格转换为 Spring DataAccessException。

4.注入简单来说就是将某个值赋值给某个bean的属性,其实就是给某个bean的属性赋值,再简单点说就是给某个类的属性赋值,但是赋值的方式不是通过new 关键字或者其他直接复制,而是通过spring来赋值的。

5.Spring的注解形式:
@Repository、@Service、@Controller,它们分别对应存储层Bean,业务层Bean,和展示层Bean。

6.collection集合是java中提供的一种容器,可以用来存储多个数据。

集合和数组既然都是容器,它们有啥区别呢?

6.1数组的长度是固定的。集合的长度是可变的。

6.2数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行存储。

7.Map.values() 方法用来获取 Map 集合中的所有键值对象。

8.2021.11.12 关于 Could not autowire. No beans of ‘DataSource‘ type found.问题解决办法 :

     8.1在@Autowired后面加(required = false)

          @Autowired(required = false)
     8.2鼠标移到报错处,用快捷键:ALT+INS ,后选第一个按Ende,在按Ende ,降低 Autowired 检测的级别,将 Severity 的级别由之前的 error 改成 warning 或其它可以忽略的级别。

9.driver-class-name: com.mysql.jdbc.Driver:适用于mysql5以上的。driver-class-name: com.mysql.cj.jdbc.Driver:适用于mysql8以上的。

10.Failed to bind properties under 'spring.datasource' to javax.sql.DataSource:

根据错误的指示原因,可以发现是没有导入log4j的依赖

        <!-- log4j -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

11.通常, @Bean方法在@Configuration 类中声明。

12.Caught exception while allowing TestExecutionListener [org.springframework.t(整合mybaties)

     答:配置文件用yaml

13.@Repository注释接口(Dao),将其注册进spring,

14.id是数据库表中的字段; #{id}是你程序获取的一个参数,例如:#{id}为12

15.示例1: @Controller 返回一个页面

16.如果Controller中某个返回JSON 或 XML 形式数据,使用@RestController,或者@Controller +@ResponseBody组合使用。@RestController只返回对象,对象数据直接以 JSON 或 XML 形式,写入 HTTP 响应(Response)中,这种情况属于 RESTful Web服务,这也是目前日常开发所接触的最常用的情况(前后端分离)。

17.@ResponseBody 注解的作用,是将 Controller 的方法返回的对象,通过适当的转换器转换为指定的格式之后,写入到HTTP 响应(Response)对象的 body 中,通常用来返回 JSON 或者 XML 数据,返回 JSON 数据的情况比较多。

18.使用@RestController注解的时候需要注意几个问题:

如果使用@RestController注解Controller,那么该Controller中的方法,就无法返回jsp页面。

就是说如果在方法中return "xx",那么它只会返回"xx"的内容,因为@RestController中相当于已经有了@RessponseBody的注解效果,所以它无法返回jsp,html界面,配置的InternalResourceViewResolver不工作,只能返回return的内容。

如果该Controller中需要返回jsp,html界面,那么就需要使用@Controller注解Controller,不能用@RestController。

如果我们在Controller方法中,需要返回JSON、XML,或者我们自己定义的类型到页面中,那么就需要使用@ResponseBody注解该方法。

19.对成员变量使用 @Autowired 后,您大可将它们的 setter 方法(setCar() 和 setOffice())从Boss 中删除。  

20.@RestController

@ResponseBody与@RestController注解都会处理返回的数据格式,使用注解后返回的不再是视图,不会进行转跳,而是返回json或xml数据格式,输出在页面上。

@ResponseBody,一般是使用在单独的方法上的,需要哪个方法返回json数据格式,就在哪个方法上使用,具有针对性。

@RestController,一般是使用在类上的,它表示的意思其实就是结合了@Controller和@ResponseBody两个注解。

使用了@RestController注解之后,其本质相当于在该类的所有方法上都统一使用了@ResponseBody注解,所以该类下的所有方法都会返回json数据格式,输出在页面上,而不会再返回视图。

21.@GetMapping

@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。

望文生义,@GetMapping是对@RequestMapping的限定,限定了只有Get请求才能访问的路径。

22.首先:@repository是用来注解接口,如下图:这个注解是将接口BookMapper的一个实现类(具体这个实现类的name叫什么,还需要再分析源码找找看)交给spring管理(在spring中有开启对@repository注解的扫描),当哪些地方需要用到这个实现类作为依赖时,就可以注入了

23.1、仅使用@Mappe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值