Spring Boot项目介绍(值得学习,超详细)
目录
1 Spring Boot介绍
2 创建Spring Boot项目
2.1 第一种方式, 使用Spring提供的初始化器, 就是向导创建SpringBoot应用
使用国内的地址
3 注解的使用
4 SpringBoot的配置文件
5 多环境配置
@Value读取数据
6 @ConfigurationProperties
7 使用jsp
8 使用容器
9 ComnandLineRunner 接口 , ApplcationRunner接口
1 Spring Boot介绍
SpringBoot是Spring中的一个成员, 可以简化Spring,SpringMVC的使用。 他的核心还是IOC容器。
特点:
Create stand-alone Spring applications
创建spring应用
Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)
内嵌的tomcat, jetty , Undertow
Provide opinionated 'starter' dependencies to simplify your build configuration
提供了starter起步依赖,简化应用的配置。
比如使用MyBatis框架 , 需要在Spring项目中,配置MyBatis的对象 SqlSessionFactory , Dao的代理对象
在SpringBoot项目中,在pom.xml里面, 加入一个 mybatis-spring-boot-starter依赖
Automatically configure Spring and 3rd party libraries whenever possible
尽可能去配置spring和第三方库。叫做自动配置(就是把spring中的,第三方库中的对象都创建好,放到容器中, 开发人员可以直接使用)
Provide production-ready features such as metrics, health checks, and externalized configuration
提供了健康检查, 统计,外部化配置
Absolutely no code generation and no requirement for XML configuration
不用生成代码, 不用使用xml,做配置
2 创建Spring Boot项目
2.1 第一种方式, 使用Spring提供的初始化器, 就是向导创建SpringBoot应用
使用的地址: https://start.spring.io
SpringBoot项目的结构:
使用国内的地址
https://start.springboot.io
创建maven项目
3 注解的使用
@SpringBootApplication
符合注解:由
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan1.@SpringBootConfiguration@Configuration
public @interface SpringBootConfiguration {@AliasFor(annotation = Configuration.class)boolean proxyBeanMethods() default true;
}说明:使用了@SpringBootConfiguration注解标注的类,可以作为配置文件使用的,可以使用Bean声明对象,注入到容器
2.@EnableAutoConfiguration
启用自动配置, 把java对象配置好,注入到spring容器中。例如可以把mybatis的对象创建好,放入到容器中
3.@ComponentScan
@ComponentScan 扫描器,找到注解,根据注解的功能创建对象,给属性赋值等等。
默认扫描的包: @ComponentScan所在的类所在的包和子包。
4 SpringBoot的配置文件
配置文件名称: application
扩展名有: properties( k=v) ; yml ( k: v)
使用application.properties, application.yml
application.properties设置 端口和上下文
#设置端口号
server.port=8082
#设置访问应用上下文路径, contextpath
server.servlet.context-path=/myboot
application.yml
server:port: 8083servlet:context-path: /myboot2
空格必须要有
5 多环境配置
有开发环境, 测试环境, 上线的环境。
每个环境有不同的配置信息, 例如端口, 上下文件, 数据库url,用户名,密码等等
使用多环境配置文件,可以方便的切换不同的配置。
使用方式: 创建多个配置文件, 名称规则: application-环境名称.properties(yml)
创建开发环境的配置文件: application-dev.properties( application-dev.yml )
创建测试者使用的配置: application-test.properties
加粗的是我们自定义的名称
@Value读取数据
在配置文件中找school(把配置文件中的数据映射为java对象)
告诉框架在school中找school开头的属性,将这些和对象的属性名去比较,名字是一样的;那就将同样的话,就将文件中的数据赋给同名的属性,然后get set tostring
然后加@Component,目的是创建子类的对象
@Resource自动注入 ,从类中拿到SchoolInfo这个号对象,赋给info
6 @ConfigurationProperties
@ConfigurationProperties: 把配置文件的数据映射为java对象。
属性:prefix 配置文件中的某些key的开头的内容。
@Component
@ConfigurationProperties(prefix = "school")
public class SchoolInfo {private String name;private String website;private String address;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getWebsite() {return website;}public void setWebsite(String website) {this.website = website;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}@Overridepublic String toString() {return "SchoolInfo{" +"name='" + name + '\'' +", website='" + website + '\'' +", address='" + address + '\'' +'}';}
}
application.properties
#配置端口号
server.port=8082
#context-path
server.servlet.context-path=/myboot#自定义key=value
school.name=动力节点
school.website=www.bjpowernode.com
school.address=北京的大兴区site=www.bjpowernode.com
7 使用jsp
SpringBoot不推荐使用jsp ,而是使用模板技术代替jsp
使用jsp需要配置:
1) 加入一个处理jsp的依赖。 负责编译jsp文件
<dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId>
</dependency>
测试
2) 如果需要使用servlet, jsp,jstl的功能
<dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId>
</dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId>
</dependency><dependency>
<groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId><version>2.3.1</version>
</dependency>
3) 创建一个存放jsp的目录,一般叫做webapp
index.jsp
4) 需要在pom.xml指定jsp文件编译后的存放目录。
META-INF/resources
5)创建Controller, 访问jsp
6)在application.propertis文件中配置视图解析器
8 使用容器
你想通过代码,从容器中获取对象。
通过SpringApplication.run(Application.class, args); 返回值获取容器。
public static ConfigurableApplicationContext run(Class<?> primarySource, String... args) {return run(new Class[]{primarySource}, args);
}ConfigurableApplicationContext : 接口,是ApplicationContext的子接口
public interface ConfigurableApplicationContext extends ApplicationContext
9 ComnandLineRunner 接口 , ApplcationRunner接口
这两个接口都 有一个run方法。 执行时间在容器对象创建好后, 自动执行run()方法。
可以完成自定义的在容器对象创建好的一些操作。
接口中 run 方法的参数为 String 数组
创建 Spring Boot 项目,不用选依赖,或者修改 010-springboot-container
@FunctionalInterface
public interface CommandLineRunner {void run(String... args) throws Exception;
}@FunctionalInterface
public interface ApplicationRunner {void run(ApplicationArguments args) throws Exception;
}
Spring Boot项目介绍(值得学习,超详细)相关推荐
- 《SpringCloud超级入门》Spring Boot项目搭建步骤(超详细)《六》
目录 编写第一个 REST 接口 读取配置文件 profiles 多环境配置 热部署 actuator 监控 自定义 actuator 端点 统一异常处理 异步执行 随机端口 编译打包 在 Sprin ...
- Linux(centos7)上使用docker部署spring boot项目(加图超详细)
准备工作 docker部署mysql并成功连接将所需数据库移入所部署的mysql中 docker部署java8 拉取镜像 docker pull java:8 查看镜像 docker image ...
- Spring Boot入门到精通(超详细)
1.Spring Boot简介 我们知道,从 2002 年开始,Spring 一直在飞速的发展,如今已经成为了在Java EE(Java Enterprise Edition)开发中真正意义上的标准, ...
- CentOS 7 快速搭建JavaWeb开发环境并部署Spring boot项目(纯干货、详细)
前言: 服务器:阿里云服务器ECS,装载CentOS 7系统 终端模拟工具&文件传输软件:xshell 7 \ xftp 7 IDE: IntelliJ IDEA 2022.1 部分内容参考阿 ...
- 我司Spring Boot 项目打包 + Shell 脚本部署详细总结,太有用了!
欢迎关注方志朋的博客,回复"666"获面试宝典 本篇和大家分享的是 Spring Boot 打包并结合 Shell 脚本命令部署,重点在分享一个shell 程序启动工具,希望能便利 ...
- spring boot项目Intellij 打包
spring boot项目Intellij 打包 学习了:http://blog.csdn.net/hzt_fighting_up/article/details/78174291 在edit con ...
- 从服务器基础环境配置到搭建Docker+Gitlab+Gitlab Runner,完整介绍Spring Boot项目的持续集成与持续交付具体实现!
1. 序言 在大学的课程学习,非常注重团队协作的培养,在企业开发中,团队协作开发项目的场景更是甚多.另外,在当下的热门技术栈中,微服务开发模式.前后端分离开发模式逐渐盛行,Spring Boot.VU ...
- Pyside2 学习系列三:PyInstaller打包项目瘦身(超详细的Pyside2 攻略)
继上一篇文章打包后,发现包太大了,我们现在开始进行瘦身优化. 本项目的所有演示代码:github可在这里下载. 打包只用的工具为PyInstaller. 不想细看的朋友 可以直接跳到 最后 方法对比 ...
- 【MySQL】Spring Boot项目基于Sharding-JDBC和MySQL主从复制实现读写分离(8千字详细教程)
目录 前言 一. 介绍 二. 主从复制 1. 原理 2. 克隆从机 3. 克隆从机大坑 4. 远程登陆 5. 主机配置 6. 从机配置 7. 主机:建立账户并授权 8. 从机:配置需要复制的主机 9. ...
最新文章
- 漫画 | TCP,一个悲伤的故事
- 查看运行状态_查看 Linux 系统服务的 5 大方法
- 编程一个最简单游戏_一个关于AI编程的游戏
- matlab生产计划问题,用MATLAB解决综合生产计划编制过程中的优化问题
- [jQuery] event.stopPropagation()报错
- 休眠事实:有利于双向集vs列表
- Python爬虫中文乱码问题(爬虫乱码)
- 哈佛推出这款PyTorch工具包,10行代码训练“AI药神”模型
- 基于Chrome浏览器的前端调试
- 用JAVA FX制作3D魔方游戏
- 1007 Maximum Subsequence Sum(25 分)
- mysql八大知识点_MySQL索引八大法则之上篇
- informix sybase数据库下载地址
- (转)远程计算机或设备将不接受连接,谷歌浏览器无法上网
- Java并发机制的底层实现原理--volatile
- 计算机系统--机器指令与汇编
- 平均年龄c加加语音用switch_C语言中的SWITCH是什么意思?
- switch内部执行顺序
- 虚拟机DEDECMS织梦建站
- linux磁盘挂载方式mount