springboot入门级笔记
springboot亮点:不用配置tomcat
springboot不支持jsp
准备:配置jdk 配置maven
访问https://start.spring.io/ 并生成自己的springboot zip
用eclipse file--import--maven--exist。。将生成的zip的解压缩文件加入到eclipse中开发使用
@configuration
加了此注解的类,使类成为配置类,且将类加入spring容器(在spring中用@conmponent)
配置全局设置三种方式(系统默认):
application.properties k=v;支持jsr303数据校验,支持复杂类型
application.yml k: v
可以配置自定义对象的值,需要在自定义类加入注解@ConfigurationProperties(prefix="xxxstuxx")和
@Component注解;集合数组用[]可以省,map,对象类型的属性用{}不可以省;可以将类中的驼峰写法转为xx-xx形式
@Value(“xxx值”):给类的属性加入注解
支持EL表达式写法:@Value(“{student.id}”);不支持复杂类型
private int id;
配置全局设置一种方式(自定义文件):
@PropertySource(value={"classpath:conf.properties"})配置文件后缀只能是.properties
springboot不需要配置spring的配置文件,如果要用自己写的spring配置文件方法
在springboot的主配置类加上@ImportResource(location={"springxxx.xml"})(不推荐)
创建一个配置类(代替配置文件),给其加入@configuration;给类中的方法加入@Bean(推荐)
随机字符串在application.yml中的使用
随机字符串${random.value} ${random.int(10)} ${random.int[12,23]}${random.uuid}
引用 ${stu.name:zs} name有值就显示,若无值就用zs默认值
多个环境切换:
在application.properties指定spring.profiles.active=xxx 自己写的环境文件名字取名application- xxx.properties
在yml中的方式:server:
port: 8888
spring:
profiles:
active:dev1(选择dev1环境,用的时候把application/-xx.properties干掉,因
为.properties优先级高)
server:
port: 8881
spring:
profiles: dev1
server:
port: 8882
spring:
profiles: dev2
动态多个环境切换:
方式1、eclipse中;run-run configuration--Argument输入:--spring.profiles.active=xxx
方式2、cmd命令行:java -jar xx.jar(web项目打成jar包) --spring.profiles.active=xxx
方式1、eclipse中;run-run configuration--Argument-vm输入:-Dspring.profiles.active=xxx
application.properties、application.ym可以存放的位置:
1、默认位置在构建路径中,项目根目录
2、项目根目录/config/application.properties,优先级大于1;
server.servlet.context-path=/xxx 可以配置项目名
3.文件位置放在项目外部时:eclipse中;run-run configuration--Argument输入:
--spring.cofig.location=配置文件路径 优先级大于内部配置文件
cmd执行方式:java -jar --spring.cofig.location=配置文件路径(项目已打包,改配置环境的方式)
4.改少量配置:run-run configuration--Argument输入:--server.port=9000空格另一个
cmd执行方式:java -jar --server.port=9000
配置优先级:
cmd命令(外部文件)》运行参数(eclipse、cmd)》内部文件(properties》yml)
日志:
springboot默认的是info,打印info和之后的等级日志信息
自定义日志级别:logging.level.主配置类所在的包=debug、xxx
logging.file=文件名或自定义路径
logging.path=文件夹路径 logging.path=D:/LOG_test/存放到文件夹
自定义日志显示
logging.pattern.console=%d{yyyy-MM-dd} [%thread]%-5level %loggger{50} -%msg%n
logging.pattern.file=%d{yyyy-MM-dd}** [%thread]**%-5level** %loggger{50} ** %msg%n
静态资源访问:
比如jquery:webjars访问--选择maven依赖copy入pom文件中访问路径比如:
http://localhost:8080/webjars/jquery/3.3.1-1/jquery.js
自定义静态资源存放位置:
classpath:/META-INF/resources classpath:/resources/
classpath:/static/ classpath:/public/
访问时不用加前缀
上述任何一个目录中的index.html就是欢迎页直接访问域名即可出现
将favicon.ico放入上述任何一个路径即可,就能呈现自定义网页logo
自定义静态资源目录方法
在配置文件中加入spring.resources.static-lacations=classpath:/xxx/ (默认的会失效)
thymeleaf的使用:
需要添加依赖:<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
在templates的目录中新建html文件,用th:text="${xxx}"转义渲染
th:utext="${xxx}"不转义渲染 其他符号查看第四章
springboot整合jsp
、创建项目方式需要用war包
、建立基本web项目目录webapp/WEB-INF
、创建tomcat部署
springboot入门级笔记的更多相关文章
- SpringBoot学习笔记
SpringBoot个人感觉比SpringMVC还要好用的一个框架,很多注解配置可以非常灵活的在代码中运用起来: springBoot学习笔记: .一.aop: 新建一个类HttpAspect,类上添 ...
- Springboot学习笔记(六)-配置化注入
前言 前面写过一个Springboot学习笔记(一)-线程池的简化及使用,发现有个缺陷,打个比方,我这个线程池写在一个公用服务中,各项参数都定死了,现在有两个服务要调用它,一个服务的线程数通常很多,而 ...
- SpringBoot学习笔记(14):使用SpringBootAdmin管理监控你的应用
SpringBoot学习笔记(14):使用SpringBootAdmin管理监控你的应用 Spring Boot Admin是一个管理和监控Spring Boot应用程序的应用程序.本文参考文档: 官 ...
- SpringBoot学习笔记(3):静态资源处理
SpringBoot学习笔记(3):静态资源处理 在web开发中,静态资源的访问是必不可少的,如:Html.图片.js.css 等资源的访问. Spring Boot 对静态资源访问提供了很好的支持, ...
- SpringBoot学习笔记(2):引入Spring Security
SpringBoot学习笔记(2):用Spring Security来保护你的应用 快速开始 本指南将引导您完成使用受Spring Security保护的资源创建简单Web应用程序的过程. 参考资料: ...
- SpringBoot学习笔记(7):Druid使用心得
SpringBoot学习笔记(7):Druid使用心得 快速开始 添加依赖 <dependency> <groupId>com.alibaba</groupId> ...
- SpringBoot学习笔记(4):与前端交互的日期格式
SpringBoot学习笔记(4):与前端交互的日期格式 后端模型Date字段解析String 我们从前端传回来表单的数据,当涉及时间.日期等值时,后端的模型需将其转换为对应的Date类型等. 我们可 ...
- SpringBoot学习笔记(4):添加自定义的过滤器
SpringBoot:学习笔记(4)——添加自定义的过滤器 引入自定义过滤器 SpringBoot提供的前端控制器无法满足我们产品的需求时,我们需要添加自定义的过滤器. SpringBoot添加过滤器 ...
- SpringBoot学习笔记(13):日志框架
SpringBoot学习笔记(13):日志框架——SL4J 快速开始 说明 SpringBoot底层选用SLF4J和LogBack日志框架. SLF4J的使用 SpringBoot的底层依赖关系 1. ...
随机推荐
- Java IO Demo
//FileReader FileWriter 读写英文 public void FileReaderAndWriter1() throws Exception { File filePath ...
- ip协议,IP,子网掩码,ping命令是什么
ip协议: 定网络地址的协议叫ip协议,它定义的地址称之为ip地址,广泛采用的v4版本即ipv4,它规定网络地址由32位2进制表示 IP地址:是给每个连接在Internet上的主机分配的一个32bit ...
- PHP 工程师技能图谱
# PHP 工程师技能图谱## 基础知识 - HTTP - HEADER - REQUEST - RESPONSE - GET/POST/PUT/DELETE/PATCH/CONNECT/OPTION ...
- Tomcat负载均衡、调优核心应用进阶学习笔记(二):Tomcat前世今生、安装、配置文件详细说明、tomcat应用程序部署、webapp 体系结构、tomcat运行方式
文章目录 Tomcat前世今生 安装 配置文件详细说明 tomcat应用程序部署 webapp 体系结构 tomcat运行方式 Tomcat前世今生 java体系: 1 java程序设计语言 2 ja ...
- 16-python基础-字典
1.字典的定义 dictionary(字典)是除列表以外python之中最灵活的数据类型. 字典同样可以存储多个数据. 通常用于存储一个物体的相关信息. 和列表的区别 列表是有序的对象集合 字典是无序 ...
- TreeSet源码解析笔记
定义: TreeSet是一个有序的集合,它的作用是提供有序的Set集合.它继承了AbstractSet抽象类,实现了NavigableSet<E>,Cloneable,Serializab ...
- Vue-cli中的静态资源管理(src/assets和static/的区别)
资源打包 为了回答这个问题,我们需要了解webpack是如何处理静态资源的.在所有的*.vue文件中你所有的templates 和CSS 都被vue-html-loader 和css-loader 查 ...
- MES training
unique identity 1.project name , namespace 2. select XML (not html) 3. view and controller will be i ...
- javascript 中的函数
/* 第二天 */ 函数 函数是js里最有趣的东西了,函数实际上就是对象,每个函数Function类型的实例,函数名实际上是指向函数对象的指针.不带圆括号的函数时访问函数的指针,带圆括号的是调 ...
- cenos7 下数据库相关操作
1.Linux Centos7下如何确认MySQL服务已经启动 https://www.cnblogs.com/qianzf/p/7082484.html 2.CentOS 7上安装MySQL并配置远 ...