SpringBoot一天快速入门,超级肝货!【二】(1)

热启动在正常开发项目中已经很常见了吧,虽然平时开发web项目过程中,改动项目启重启总是报错;但springBoot对调试支持很好,修改之后可以实时生效,需要添加以下的配置:

org.springframework.boot

spring-boot-devtools

true

该模块在完整的打包环境下运行的时候会被禁用。如果你使用 java -jar启动应用或者用一个特定的 classloader 启动,它会认为这是一个“生产环境”。

使用 Spring Boot 可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以,所以使用 Spring Boot 非常适合构建微服务。​​​​​​

4 Spring Boot的配置文件

==================

org.springframework.boot

spring-boot-devtools

true

4.1  配置文件基础


Spring Boot 使用一个全局的配置文件 application.properties 或 application.yml,放置在【src/main/resources】目录或者类路径的 /config 下。

Spring Boot 不仅支持常规的 properties 配置文件,还支持 yaml 语言的配置文件。yaml 是以数据为中心的语言,在配置数据的时候具有面向对象的特征。

Spring Boot 的全局配置文件的作用是对一些默认配置的配置值进行修改。

application.properties的配置如下所示:

server.port=8081

server.servlet.context-path=/prop

application.yml的配置如下所示:

server:

port: 8082

servlet:

context-path: /yml

**·**注意: yml 需要在 “:” 后加一个空格。

4.2 使用@Value来获取配置属性


server:

port: 8080

servlet:

context-path: /hello

name: springmeng

age: 20

controller类中:

@Value(“${name}”)

private String name;

@Value(“${age}”)

private Integer age;

@RequestMapping(“/valueMethod”)

public String value() {

return name+age;

}

 **注意:**我们并没有在 yml 文件中注明属性的类型,而是在使用的时候定义的。

你也可以在配置文件中使用当前配置:

content: “name: n a m e , a g e : {name},age: name,age:{age}”

controller类中:

@Value(“${content}”)

private String content;

@RequestMapping(“/contentMethod”)

public String contentMethod() {

return content;

}

  • 问题: 这样写配置文件繁琐而且可能会造成类的臃肿,因为有许许多多的 @Value 注解。

  • 4.3 封装配置信息


我们可以把配置信息封装成一个类,首先在我们的 name 和 age 前加一个 student 前缀,然后新建一个 StudentProperties 的类用来封装这些信息,并用上两个注解:

  • @Component:表明当前类是一个 Java Bean

  • @ConfigurationProperties(prefix = “student”):表示获取前缀为 sutdent 的配置信息。

yml中:

student:

name: 小海

age: 19

controller中:

@Autowired

private StudentProperties studentProperties;

@RequestMapping(“/studentMethod”)

public String studentMethod() {

return studentProperties.getName()+studentProperties.getAge();

}

Spring Boot使用

===================

上面已经完成了 Spring Boot 项目的简单搭建,我们仅仅需要进行一些简单的设置,写一个 HelloController 就能够直接运行了。接下来我们再深入了解一下 Spring Boot 的使用。

5.1 Spring Boot支持JSP


Spring Boot 的默认视图支持是 Thymeleaf 模板引擎,但我们还是想要使用 JSP 怎么办呢?

第一步:修改 pom.xml 增加对 JSP 文件的支持:

javax.servlet

javax.servlet-api

provided

javax.servlet

jstl

org.apache.tomcat.embed

tomcat-embed-jasper

provided

第二步:配置试图重定向 JSP 文件的位置

修改 application.yml 文件,将我们的 JSP 文件重定向到 /WEB-INF/views/ 目录下:

spring:

mvc:

view:

prefix: /WEB-INF/views/

suffix: .jsp

第三步:新建 JSPController

修改 @RestController 注解为 @Controller ,然后将 hello 方法修改为gotoJSP:

public String gotoJSP (Model m) {

m.addAttribute(“info”, “Spring Boot后台传来的信息”);

return “jspPage”;

}

第四步:新建 hello.jsp 文件

在【src/main】目录下依次创建 webapp、WEB-INF、views 目录,并创建一个 jspPage.jsp 文件:

<%@ page language=“java” contentType=“text/html; charset=UTF-8” pageEncoding=“UTF-8”%>

HI,你好。 ${info}

5.2 集成MyBatis


第一步:修改 pom.xml 增加对 MySql和 MyBatis 的支持:

org.mybatis.spring.boot

mybatis-spring-boot-starter

1.1.1

mysql

mysql-connector-java

5.1.21

第二步:新增数据库连接参数:

spring:

mvc:

view:

prefix: /WEB-INF/views/

suffix: .jsp

datasource:

url: jdbc:mysql://127.0.0.1:3306/spring?characterEncoding=UTF-8

username: spring

password: spring

driver-class-name: com.mysql.jdbc.Driver

jpa:

hibernate:

ddl-auto: update  # 新增数据库连接必备的参数

第三步:创建 Student 实体类和 StudentMapper 映射类

在【cn.dahaiwuliang.springboot】下新建一个【pojo】包,然后在其下创建一个 Student 类。

public class Student {

private Integer id;

private String code;

private String sname;

private Integer age;

…/* getter and setter */

}

在【cn.dahaiwuliang.springboot】下新建一个【mapper】包,然后在其下创建一个 StudentMapper 映射类:

@Mapper

public interface StudentMapper {

@Select(“SELECT * FROM student”)

List findAll();

}

第四步:编写 StudentController

在【cn.dahaiwuliang.springboot】下新建一个【controller】包,然后在其下创建一个 StudentController :

/**

  • Student 控制器

*/

@Controller

public class StudentController {

@Autowired

最后

笔者已经把面试题和答案整理成了面试专题文档

image

image

image

image

image

image

在【cn.dahaiwuliang.springboot】下新建一个【mapper】包,然后在其下创建一个 StudentMapper 映射类:

@Mapper

public interface StudentMapper {

@Select(“SELECT * FROM student”)

List findAll();

}

第四步:编写 StudentController

在【cn.dahaiwuliang.springboot】下新建一个【controller】包,然后在其下创建一个 StudentController :

/**

  • Student 控制器

*/

@Controller

public class StudentController {

@Autowired

最后

笔者已经把面试题和答案整理成了面试专题文档

[外链图片转存中…(img-uDj1oyDK-1718778142998)]

[外链图片转存中…(img-EqJUNh0Z-1718778142999)]

[外链图片转存中…(img-Lgre9HT8-1718778143000)]

[外链图片转存中…(img-2yvTkVNx-1718778143000)]

[外链图片转存中…(img-xAEb2vpy-1718778143001)]

[外链图片转存中…(img-v5IIHrG0-1718778143002)]

  • 13
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值