SpringBoot一天快速入门,超级肝货!,2024年最新java教程pdf百度云盘

4.3 封装配置信息

5 Spring Boot使用

5.1 Spring Boot支持JSP

5.2 集成MyBatis


1 写个案例

======

1.1 编写 Controller 内容


@RestController 注解: 该注解是 @Controller 和 @ResponseBody 注解的合体版。

@RequestMapping 注解:访问地址。

@Controller

public class StudentController {

@Autowired

StudentMapper studentMapper;

@RequestMapping(“/listStudent”)

public String listStudent(Model model) {

List students = studentMapper.findAll();

model.addAttribute(“students”, students);

return “listStudent”;

}

}

1.2  启动主程序


打开浏览器访问http://localhost:8080/hello,就可以看到效果了!

注意:我们之所以在上面的项目中没有手动的去配置 Tomcat 服务器,是因为 Spring Boot 内置了 Tomcat

2 解析 Spring Boot项目

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

2.1 解析pom.xml文件


我们可以看到一个比较陌生一些的标签 <parent> ,这个标签是在配置 Spring Boot 的父级依赖。有了这个,当前的项目才是 Spring Boot 项目,spring-boot-starter-parent 是一个特殊的 starter ,它用来提供相关的 Maven 默认依赖,使用它之后,常用的包依赖就可以省去 version 标签。

2.2  应用入口类


Spring Boot 项目通常有一个名为 *Application 的入口类,入口类里有一个 main 方法, 这个 main 方法其实就是一个标准的 Java 应用的入口方法。

@SpringBootApplication 是 Spring Boot 的核心注解,它是一个组合注解,该注解组合了:@Configuration****、@EnableAutoConfiguration、@ComponentScan; 若不是用 @SpringBootApplication 注解也可以使用这三个注解代替。

·  其中,@EnableAutoConfiguration Spring Boot 根据类路径中的 jar 包依赖为当前项目进行自动配置,例如,添加了 spring-boot-starter-web 依赖,会自动添加 Tomcat 和 Spring MVC 的依赖,那么 Spring Boot 会对 Tomcat 和 Spring MVC 进行自动配置。

Spring Boot 还会自动扫描 @SpringBootApplication 所在类的同级包以及下级包里的 Bean ,所以入口类建议就配置在 grounpID + arctifactID 组合的包名下(这里为 cn.dahaiwuliang.springboot 包)。

开发环境的调试

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

热启动在正常开发项目中已经很常见了吧,虽然平时开发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

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

最后

2020年在匆匆忙忙慌慌乱乱中就这么度过了,我们迎来了新一年,互联网的发展如此之快,技术日新月异,更新迭代成为了这个时代的代名词,坚持下来的技术体系会越来越健壮,JVM作为如今是跳槽大厂必备的技能,如果你还没掌握,更别提之后更新的新技术了。

更多JVM面试整理:

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
img

本涵盖了95%以上Java开发知识点,真正体系化!**

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-XjVD9qJC-1712670950083)]

最后

2020年在匆匆忙忙慌慌乱乱中就这么度过了,我们迎来了新一年,互联网的发展如此之快,技术日新月异,更新迭代成为了这个时代的代名词,坚持下来的技术体系会越来越健壮,JVM作为如今是跳槽大厂必备的技能,如果你还没掌握,更别提之后更新的新技术了。

[外链图片转存中…(img-WCpjTJle-1712670950084)]

更多JVM面试整理:

[外链图片转存中…(img-8EDGGyJb-1712670950085)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-N6aBfa69-1712670950085)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值