leyou项目(springboot入门1)

springboot:内置tomcat,提供了自动配置,搭建了spring应用的脚手架

解决问题:复杂的配置和混沌的依赖管理

1.SpringBoot入门

使用步骤:1.在pom文件中,导入springboot父工程,所有的springboot项目都要依赖该父工程

                2.添加启动器依赖

1.2.配置控制器

 RestController继承了ResponseBody,返回的数据类型必须是json格式的

 使用引导类的方式配置springboot(不会使用上述方式进行配置)

 SpringBootConfiguration其实就是Configuration注解,该注解在Spring中是声明一个java配置类

和Configuration的不同是 该注解在应用中只能包含一个。

 其中SpringBootConfiguration 就相当于Spring中Configuration注解类(声明是一个注解类)

1.3.SpringBoot的四种属性注入:

四种方式都要能看懂

1.@Autowired注入(最常用)

2.构造方法注入

3.@Bean方法形参注入

4.直接在@Bean方法上使用@ConfigurationProperties(prefix="jdbc")

1.3.1.传统的jdbc配置方法

下图中的DruidDataSource需要在pom文件中进行配置

缺点:每一个成员变量读取配置文件都要进行一次注解配置

1.3.2.SpringBoot配置方法 

SpringBoot启动时会默认加载application.properties文件,文件中的属性属于谁,通过前缀来区分

默认加载的文件还有application.yml

 使用springboot的读取配置文件的配置类来设置参数的值

使用这种方式配置是最常用的

 ​​​​​​

 

 第二种注入参数方式:使用构造函数

 第三种注入参数方式:将参数写在方法上

 第四种方式(最优雅):不使用JdbcProperties类。ConfigurationProperties注解是通过set方法注入的。此方式可使用DataSource的set方法注入

必须保证返回值的set方法属性和properties中的属性名相对应。该注解的核心思想就是调用标记类的set方法get方法来注入参数

 SpringBoot的默认配置文件:application.properties application.yml 两者只能有一个

2.springboot配置springmvc

 导入父工程和web启动器即可

如何修改tomcat端口号(覆盖默认配置)?

1.在springboot全局属性.txt文件中搜索server.port(使用ctrl+F快捷键查找)

2.创建application.properties的配置文件,然后设置端口号

3.编写一个引导类(该引导类会扫描当前文件夹及其子文件夹所有的包和路径)

 2.1.配置控制器

 

 user为controller的全局路径

springboot中访问静态资源

默认的静态资源路径为上图内容。静态资源放置为上述路径时,就可以直接访问到

2.2.设置servlet拦截器

创建一个类继承HandlerInterceptor的接口,实现里面的方法

 要加Component注解放入spring容器中

 设置完拦截器需要设置拦截器的配置类,其中/**代表拦截多级路径(/*代表一级路径)

2.3. 整合JDBC设置启动器

 1.设置jdbc启动器  2.配置数据库驱动依赖(mysql)

3.在application中配置连接数据库必要信息  默认驱动是mysql不需要设置

springboot中有默认的hikaricp连接池

2.4.整合mybatis框架

1.导入依赖

 2.第一种是扫描注解包   第二种是扫描配置文件 两种方式任选其一

1.设置与数据库对应的实体类

 2.设置与映射的配置类

由依赖包提供

导入Mapper依赖包后 注解可正常使用 

 配置Mapper类完毕

 也可以在引导类上加Mapper的扫描注解。这样可以不使用@Mapper注解

 2.5整合事务

事务所依赖的包已经通过传递依赖进入到spring容器中,报错是因为我们使用的是mapper注解,它是mybatis的注解,不是spring的注解,可通过下列方式忽视报错

 

使用@Transactional注解  来进行事务管理(只有增删改使用事务)

 上述步骤配置完Dao层

 下面使用Service层来实现业务

如果参数使用占位符的方式传递要使用@PathVariable注解

如果参数使用?的方式传递要使用RequestParam的方式进行传递

 如果使用@RequestParam注解,需要加@RespnseBody注解,否则将会被认为寻找视图

 上述方式无法调用queryUserById,原因:不加@ResponseBody注解 控制器就会认为该方法返回的是一个视图名称

thymeleaf 

由于springboot不支持jsp 所以使用该模板

使用前需要引入该启动器

 源码的默认前端页面的路径设置:

Controller传递的路径为该路径下的页面

 

th代表thymeleaf 和jstl 语法相似 

 

 

 此时不加@ResponseBody注解就是返回的视图名称

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值