SpringBoot学习第三天

本文主要介绍在SpringBoot中使用Thymeleaf模板引擎时的一些常见th标签用法,帮助读者掌握Thymeleaf在实际开发中的基本操作。
摘要由CSDN通过智能技术生成
SpringBoot03
一.
文件上传测试
<form action="/upload" enctype="multipart/form-data" method="post">
    <input type="file" name="file">
    <button type="submit" name="ok">ok</button>
</form>
@RequestMapping("/upload")
public String fileUpLoad(MultipartFile file) throws Exception{
    System.out.println(file.getOriginalFilename());
    file.transferTo(new File("D:/"+file.getOriginalFilename()));
    return "index";
}
修改上传文件大小限制
spring:
  servlet:
    multipart:
      max-file-size: 2MB
二.
SpringBoot整合JSP技术
1.创建项目
2.修改pom文件,添加
<!--添加jsp引擎,SpringBoot内置的Tomcat没有此依赖-->
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<!--添加jstl坐标依赖-->
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
</dependency>
3.创建webapp目录
uploading.4e448015.gif转存失败重新上传取消
4.标记为web目录
uploading.4e448015.gif转存失败重新上传取消
5.创建jsp
6.修改配置文件,配置视图解析器
spring:
  mvc:
    view:
      prefix: /WEB-INF/jsp
      suffix: .jsp
如果在IDEA中项目结构为聚合工程。那么在运行jsp是需要指定路径。如果项目结构为独立项目则不需要。
uploading.4e448015.gif转存失败重新上传取消
三.
SpringBoot整合Freemarker
1.创建项目
2.修改pom文件,添加Freemarker启动器
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
3.创建User实体,创建Controller
@Controller
public class UsersController {
 
    @GetMapping("show")
    public String showUsers(Model model){
        List<User> users = new ArrayList<>();
        users.add(new User("zhangsan",1));
        users.add(new User("lisi",2));
        users.add(new User("wangwu",3));
        model.addAttribute("users",users);
        return  "userList";
    }
 
}
4.修改配置文件,配置视图解析器
uploading.4e448015.gif转存失败重新上传取消
5.创建视图
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <#list users as user>
        <div>
            <h2>${user.name}</h2>
            <h2>${user.age}</h2>
        </div>
    </#list>
</body>
</html>
 三.

1.Thymeleaf常用th标签

2.
th:each
uploading.4e448015.gif转存失败重新上传取消
uploading.4e448015.gif转存失败重新上传取消
th:each遍历map
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <table>
        <tr th:each="m : ${map}">
            <td th:text="${m.key}"></td>
            <td th:text="${m.value.name}"></td>
            <td th:text="${m.value.age}"></td>
        </tr>
    </table>
</body>
</html>
2.Thymeleaf内置对象
uploading.4e448015.gif转存失败重新上传取消
uploading.4e448015.gif转存失败重新上传取消
uploading.4e448015.gif转存失败重新上传取消
uploading.4e448015.gif转存失败重新上传取消
uploading.4e448015.gif转存失败重新上传取消
 
uploading.4e448015.gif转存失败重新上传取消
4.Thymeleaf常见配置
#以下都是默认值
spring.thymeleaf.prefix=classpath:/templates
spring.thymeleaf.suffix=.html
#配置视图模板类型,如果视图模板使用的是html5需要配置,这里默认是4
spring.thymeleaf.mode=HTML
spring.thymeleaf.encoding=utf-8
#响应类型
spring.thymeleaf.servlet.content-type=text/html
#配置页面缓存,默认为true,我们一般把它改成false
spring.thymeleaf.cache=true
四.
SpringBoot整合JDBC,通过@PropertySource读取配置信息
1.配置pom
<!--JDBC启动器-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--mysql数据库驱动-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.27</version>
</dependency>
2.配置数据源
添加Druid数据源依赖
<!--Druid数据源依赖-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.12</version>
</dependency>
3.创建properties文件
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
jdbc.username=root
jdbc.password=123
4.创建配置类
@Configuration
@PropertySource("classpath:/jdbc.properties")
public class JdbcConfiguration {
 
    @Value("${jdbc.driverClassName}")
    private String driverClassName;
    @Value("${jdbc.url}")
    private String url;
    @Value("${jdbc.username}")
    private String username;
    @Value("${jdbc.password}")
    private String password;
 
    @Bean
    public DataSource getDataSource(){
        DruidDataSource druidDataSource = new DruidDataSource();
        druidDataSource.setDriverClassName(driverClassName);
        druidDataSource.setUrl(url);
        druidDataSource.setUsername(username);
        druidDataSource.setPassword(password);
        return druidDataSource;
    }
 
}
5.创建Controller,测试
@Controller
public class TestController {
 
    @Autowired
    private DataSource dataSource;
 
    @GetMapping("test")
    public String test(){
        return "test";
    }
 
}
uploading.4e448015.gif转存失败重新上传取消
五.
SpringBoot整合JDBC,通过@ConfigurationProperties读取配置信息
1.配置application.properties
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
jdbc.username=root
jdbc.password=123
2.创建JdbcProperties
@ConfigurationProperties(prefix = "jdbc")
@Getter
@Setter
public class JdbcProperties {
    private String driverClassName;
    private String url;
    private String username;
    private String password;
}
3.创建JdbcConfiguration
@Configuration
@EnableConfigurationProperties(JdbcProperties.class)
public class JdbcConfiguration {
 
    @Bean
    public DataSource getDataSource(JdbcProperties jdbcProperties){
        DruidDataSource druidDataSource = new DruidDataSource();
        druidDataSource.setDriverClassName(jdbcProperties.getDriverClassName());
        druidDataSource.setUrl(jdbcProperties.getUrl());
        druidDataSource.setUsername(jdbcProperties.getUsername());
        druidDataSource.setPassword(jdbcProperties.getPassword());
        return druidDataSource;
    }
 
}
4.在Controller中debug测试
uploading.4e448015.gif转存失败重新上传取消
六.
@ConfigurationProperties优雅写法,以上一个例子为例
只需一个@ConfigurationProperties注解,无需创建JdbcProperties也可赋值。
@Configuration
public class JdbcConfiguration {
 
    @Bean
    @ConfigurationProperties(prefix = "jdbc")
    public DataSource getDataSource(){
        DruidDataSource druidDataSource = new DruidDataSource();
        return druidDataSource;
    }
 
}
直接将之前Properties类省了,还省了其他注解和一些set方法,简洁明了。
七.
uploading.4e448015.gif转存失败重新上传取消
在application.propertes中配置,默认数据源HikariDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=123
#如果要改变数据源
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
比上一个更简单。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值