| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> springboot介绍 -> 正文阅读 |
|
[Java知识库]springboot介绍 |
最近学习了ssm框架之后学习了springboot接下来对springboot做一些简单的阐述 SpringBoot的核心功能有两个,起步依赖,自动配置,也就是他的默认配置; 起步依赖就是将具备某种功能的坐标打包到一起, 并解决了Spring的jar包冲突问题。 自动配置就是SpringBoot在底层给我们自动做了一些配置,所以springboot项目不编写配置文件也可以正常运行,但是根据我们的具体开发需要修改SpringBoot自动配置的默认值; 2.Spring Boot 优点非常多,如: 3.SpringBoot创建过程 2.导入起步依赖 3.创建引导类 ? 1.成为引导类:@SpringBootApplication ? 2.运行引导类:SpringApplication.run(引导类的字节码对象) 4.创建controller ? 1.在引导类的同级目录下 ? 2.在引导类的同级的子目录下 4.Spring Boot 的配置文件有哪几种格式?它们有什么区别? .properties app.user.name = javastack app: 另外,.yml 格式不支持 @PropertySource 注解导入配置。 5.springboot中的核心启动主函数(main函数)的作用.用到哪些注解.注解的作用. 启动类上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解,主要组合包含了以下 3 个注解: @SpringBootConfiguration:组合了 @Configuration 注解,实现配置文件的功能。 @EnableAutoConfiguration:打开自动配置的功能,也可以关闭某个自动配置的选项,如关闭数据源自动配置功能: @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })。 @ComponentScan:Spring组件扫描。 6.SpringBoot 中常用注解 4.@RequestMapping 配置url映射 5.@ConfigurationProperties(prefix=“配置文件中的 key 的前缀”)可以将配置文件中的配置自动 6.@Autowired 7.springboot的静态页放在哪里? 这个是系统默认配置,如果我们并不想将资源放在系统默认的这五个位置上,也可以自定义静态资源位置和映射,自定义的方式也有两种,可以通过 application.properties 来定义,也可以在 Java 代码中来定义,下面分别来看。 8.SpringBoot入门篇–使用Thymeleaf模板引擎进行页面的渲染 ? 我们来编写一个简单的Controller返回一个单间的json字符串,如下: @Controller
} ? 此处注意的一点是,一定要使用@Controller这个注解才可以跳转到对应的模板中,如果使用上一篇中的@RestController,页面只返回index这个字符串,这个注解等同于使用@ResponseBody,大家在使用时一定要注意。 编写模板 ? 我们在src/main/resources/templates目录下创建一个叫index.html的文件,访问变量使用th:进行访问; 在这里我们需要进行一下说明: 1>这个配置不是必须的,因为SpringBoot它自身有相关的默认配置,我们的配置会覆盖相关的默认配置 2>我们在进行页面返回的时候,页面是默认储存在resource文件下的templates文件里面的。 3>使用Thymeleaf默认页面就是HTML页面,所以这是非常方便的。 4>我们就算不配置的时候最好还是讲模板缓存进行关闭,上图已经做了相应的注释,因为这么做的目的是为了在页面进行改变的时候,我们可以很快的看到直观效果。
1.独立运行的Spring项目 Spring Boot可以以jar包的形式来运行,运行一个Spring Boot项目我们只需要通过java -jar xx.jar类运行。非常方便。 2.内嵌Servlet容器 Spring Boot可以内嵌Tomcat,这样我们无需以war包的形式部署项目。 3.提供starter简化Maven配置 使用Spring或者SpringMVC我们需要添加大量的依赖,而这些依赖很多都是固定的,这里Spring Boot 通过starter能够帮助我们简化Maven配置。 4.自动配置Spring OK,关于SpringBoot更详细的优缺点小伙伴们也可以自行搜索,我这里不再罗列,我们还是来看看代码。 项目创建 首先创建一个项目,创建时选择Spring Initializr,然后Next,如下图: 这里写图片描述 填写项目信息,如下图: 这里写图片描述 填写项目使用到的技术,上面的Spring Boot版本建议选择最新的稳定版,下面勾选上Web就可以了,如下图: 这里写图片描述 最后一步,填写工程名字点击finish: 这里写图片描述 @RestController
} 然后点击项目启动按钮运行,在IntelliJ中就是这个按钮: 入口类和@SpringBootApplication注解 @Target({ElementType.TYPE}) } 我们可以看到它组合了@SpringBootConfiguration、@EnableAutoConfiguration以及@ComponentScan,我们在开发的过程中如果不使用@SpringBootApplication,则可以组合使用这三个注解。这三个注解中,@SpringBootConfiguration实际上就是我们前面几篇博客提到的@Configuration注解,表明这个类是一个配置类,@EnableAutoConfiguration则表示让Spring Boot根据类路径中的jar包依赖为当前项目进行自动配置,最后一个@ComponentScan的作用我也不赘述了,唯一要注意的是如果我们使用了@SpringBootApplication注解的话,系统会去入口类的同级包以及下级包中去扫描实体类,因此我们建议入口类的位置在groupId+arctifactID组合的包名下。 关闭特定的自动配置 @SpringBootApplication(exclude = DataSourceAutoConfiguration.class) 1.在src/main/resources下新建一个banner.txt文档 这里写图片描述 关闭Banner public static void main(String[] args) { OK,如此修改之后当我们再次启动Project的时候就看不到Banner了。 Spring Boot的配置文件 1.修改Tomcat默认端口和默认访问路径 Tomcat默认端口是8080,我将之改为8081,默认访问路径是http://localhost:8080,我将之改为http://localhost:8081/helloboot,我们来看看这两个需求要怎么样通过简单的配置来实现。 server.context-path=/helloboot 然后再启动Project,在浏览器中就得这样来访问了: 常规属性配置 book.author=罗贯中 我这里专门设置了中文,因为中文不做特殊处理会乱码,处理方式为继续在application.properties中添加如下代码: server.tomcat.uri-encoding=UTF-8 然后 在IntelliJ IDEA中依次点击File -> Settings -> Editor -> File Encodings
修改index方法,使之返回这些值: @RequestMapping(value = “/”,produces = “text/plain;charset=UTF-8”) 然后在浏览器中访问,结果如下: 类型安全的配置 1.在src/main/resources文件夹下创建文件book.properties 文件内容如下: book.name=红楼梦 2.创建Book Bean,并注入properties文件中的值 代码如下: @Component
} prefix是指前缀,location指定要注入文件的位置。 3.添加路径映射 在Controller中添加如下代码注入Bean: @Autowired 添加路径映射: @RequestMapping("/book") 日志配置 logging.file=/home/sang/workspace/log.log Profile配置问题 1.在src/main/resources文件夹下定义不同环境下的Profile配置文件,文件名分别为application-prod.properties和application-dev.properties,这两个前者表示生产环境下的配置,后者表示开发环境下的配置,如下: 这里写图片描述 application-prod.properties: server.port=8081 server.port=8080 spring.profiles.active=dev
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 9:44:09- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |