2006-京淘Day02-3
1.SpringBoot 高级用法
1.1 为属性赋值操作
1.1.1 业务需求说明
说明: 当程序中出现了频繁变化的数据时,如果采用人为的方式进行修改并且变异打包则导致代码的耦合性较高.不便于维护.所以能否为属性动态赋值.
1.1.2 关于YML文件说明
# YML文件语法# 1. key:(空格) value# 2. key与key之间有层级的缩进关系.
server:port: 8090# 属性赋值操作,编辑属性时注意前缀. 只要springboot启动该数据就会被写入内存中 key-value格式
redis:host: 192.168.126.130port: 6379
1.1.3 为属性赋值操作
//动态获取ip和端口数据
//@ResponseBody 作用1: 将对象转化为JSON 作用2: 如果返回值是String类型,则返回字符串本身
// 作用3: 一般客户端发起ajax请求时,采用该注解返回数据, 将不会执行视图解析器操作
@RestController
public class RedisController {@Value("${redis.host}") //spel表达式private String host; // = "192.168.126.130"; private String host; // = "192.168.126.130";@Value("${redis.port}")private Integer port; // = 6379;@RequestMapping("/getMsg")public String getMsg(){return host + ":" + port;}
}
1.2 指定配置文件为属性赋值
说明: 由于YML配置文件中的数据一般都是系统级别的数据,所以一般的业务数据都会写到properties的配置文件中.
1.2.1 编辑properties配置文件
1.2.2 编辑RedisController
package com.jt.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;//动态获取ip和端口数据
//@ResponseBody 作用1: 将对象转化为JSON 作用2: 如果返回值是String类型,则返回字符串本身
// 作用3: 一般客户端发起ajax请求时,采用该注解返回数据, 将不会执行视图解析器操作
@RestController
//动态的导入pro配置文件,交给spring容器进行加载.
@PropertySource("classpath:/properties/redis.properties")
public class RedisController {@Value("${redis.host}") //spel表达式private String host; // = "192.168.126.130"; private String host; // = "192.168.126.130";@Value("${redis.port}")private Integer port; // = 6379;@Value("${pro.redis.host}")private String proHost;@Value("${pro.redis.port}")private Integer proPort;//指定properties文件进行赋值操作.@RequestMapping("/getMsg")public String getMsg(){//从yml配置文件中动态获取return host + ":" + port;}@RequestMapping("/getPro")public String getPro(){return proHost + ":" + proPort;}
}
1.3 环境切换
业务说明:由于开发时都是链接公司自己的数据库/服务器等.把这个环境称之为"开发环境."
当开发完成之后需要进行上线部署,则需要链接"生产环境"
如果频繁的切换环境,则导致项目由于修改错误,导致问题的发生.
项目优化: 能否提供一种策略.简化上述操作的开发过程.
#第一份配置文件,用来指定默认的环境标识
spring:profiles:active: prod---
# YML文件语法# 1. key:(空格) value# 2. key与key之间有层级的缩进关系.#指定环境的名称
spring:profiles: dev
server:port: 8090# 属性赋值操作,编辑属性时注意前缀. 只要springboot启动该数据就会被写入内存中 key-value格式
redis:host: 192.168.126.129port: 6379# 1.需要将环境一分为二
---
spring:profiles: prod
server:port: 9000# 属性赋值操作,编辑属性时注意前缀. 只要springboot启动该数据就会被写入内存中 key-value格式
redis:host: 111.111.111.111port: 7000
1.4 关于lombok说明
1.4.1 添加jar包
<!--引入插件lombok 自动的set/get/构造方法插件 --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency>
1.4.2 lombok案例
1.4.3 问题
说明:如果需要使用lombok工具就必须提前安装插件.如果在上线的时候Linux系统中,是否需要提前安装lombok插件?? 不需要安装.
原因: lombok插件在编译器有效. 将.java文件编译为.class文件时lombok会动态的添加get/set/toString…等方法.添加到.class文件中.
Linux上线部署时运行的时.jar文件 .jar包含的文件(.class文件)
1.4.4 知识小结
1.SpringBoot 开箱即用原理;
2.属性赋值的操作 @Value("${}")
3.动态导入资源文件 @PropertySource(“classpath:/properties/redis.properties”)
4.环境的切换 —, spring.profiles: dev ,默认的选项
5.lombok常用操作
2.SpringBoot整合Mybatis
2.1 新建项目
暂时只需要勾选webjar包即可
2.2 导入jt.sql的数据库
2.2.1 准备数据库工具
2.2.2 链接数据库
2.2.3 添加jar包文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.4.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.jt</groupId><artifactId>springboot_demo2_mybatis</artifactId><version>0.0.1-SNAPSHOT</version><name>springboot_demo2_mybatis</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope>
2006-京淘Day02-3相关推荐
- boot sprint 项目结构_京淘项目03 08.28
JSP动态web资源,打war包 ##spring boot整合JSP 创建项目 spring SpringBoot整合web资源,, 在main文件下,新建webapp文件夹,,把WEBINF目录粘 ...
- 京淘项目实战开发-01
1.京淘项目架构设计 1.1电商网站行业特点 1.1.1 高并发 概念: 同一时间内,有大量的用户访问服务器. 常识: tomcat服务器能够支持的并发链接数 220个/秒 (软件依赖硬件设备) 生产 ...
- 大数据正式京淘附加爬虫
大数据正式京淘附加爬虫 爬虫技术 httpClient:抓取整个页面 htmlUnit:可以二次提交 jsoup:可以获取以上两个技术的所有内容 jsoup 爬取整个页面 爬取整个网站 爬取页面中的某 ...
- 京淘商城后台管理系统
京淘商城 京淘商城后台管理系统 登录.注册界面 商品管理 新增商品 查询商品 规格参数 网站内容管理 内容分类管理 内容管理 账户管理 管理员账户管理 普通用户账户管理 个人信息 习得总结 实习总结 ...
- Lesson9 【LINUX】将京淘项目发布到Linux系统上
前言 将京淘项目发布到Linux系统上 我在windows系统中已经用IDEA编写好了京淘项目的代码,并且打好了war包. 现在我就想把这个京淘项目发布到linux系统上. 因为在工作中,都是要将项目 ...
- 2003京淘项目Day-03京淘后台项目搭建
1.SpringBoot 整合JSP 1.1 创建项目 1.1.1 创建项目 1.1.2 编辑POM.xml文件 添加继承/依赖/插件 <!--parent标签作用:管理所有被springBoo ...
- 京淘电商后台管理系统
1,用户登录及左菜单显示 1.1.用户登录 1.1.1.构建springboot及mybatis项目 1.1.2.编辑pom.xml文件 <?xml version="1.0" ...
- cgb2007-京淘day02
1.SpringBoot高级用法 1.1 关于SpringBoot配置文件的说明 1.1.1 properties说明 1.语法: k-v结构 key=value 2.数据类型: 默认是String数 ...
- 【后端结合】新程序猿笔记Day13(京淘项目)
1. 用户模块管理 1.1 用户列表展现 1.1.1 业务接口文档 请求路径: /user/list 请求类型: GET 请求参数: 后台使用PageResult对象接收 请求案例: http://l ...
- 京淘项目业务接口文档
一 用户登陆 1 用户登录验证接口 请求路径: /user/login 请求方式: POST 请求参数 参数名称 参数说明 备注 username 用户名 不能为空 password 密码 不能为空 ...
最新文章
- 优化改良版:数组,List,等集合需要加逗号或其它符合转成字符串
- C++知识回顾之__stdcall、__cdcel和__fastcall三者的区别
- 工人物语5战役攻略_《工人物语7》入门详细图文攻略
- python get argument_Python-Web框架-get_argument方法
- java.io.IOException: Broken pipe 的异常处理
- 【贪心】最佳浏览路线问题
- win10修改服务器地址,win10 修改服务器地址
- 互联网晚报 | 8月12日 星期四 | 苏宁易购零售云将迈入“万店时代”;理想汽车今日港股上市;好未来励步推素质教育新产品...
- [BZOJ4987]Tree
- VCSA 6.5 HA配置 之四 开启vCenter HA
- 计算机上机计划,计算机上机实验内容及实验报告总结计划要求-20210711144121.doc-原创力文档...
- 被替换的项目不是替换值长度的倍数_机器学习中处理缺失值的9种方法
- ResNet网络结构搭建
- 俄勒冈大学计算机科学专业,美国俄勒冈大学计算机与信息科学博士后
- 输入一个字符串,输出该字符串中字符的所有组合。(腾讯2014笔试附加题)
- EVE上传Dynamips和IOL
- matlab dsb调制,幅度调制(AM、DSB、SSB、VSB)
- 防火墙之ipsec vpn实验
- 没中奖的花花卡不要扔,还有用!
- PAKDD2018小结
热门文章
- cloudflare免费设置_用CDN加速网站——cloudflare免费版使用教程(1)账号注册以及添加域名...
- 苹果收购英特尔调制解调器业务,角力5G胜算几何?
- OSChina 周一乱弹 —— 曾梦想仗剑走天涯,后来bug多没去
- 近年来世界各地ICO的花式骗局盘点
- 函数声明时 要不要 加 extern
- 【SequoiaDB巨杉数据库】Cmd-runJS
- liunx中磁盘分区格式化
- 【RabbitMq04】延迟队列
- # FastDFS搭建与测试
- “毒舌”专家解析大数据应用案例Part2—三星盖乐世社区 DSP跨屏投放