jt-京淘项目

1.京淘项目架构设计

1.1 互联网行业特点

  1. 高并发
  2. 分布式 服务器数量分配均衡
  3. 海量数据处理 (大数据方向)
  4. 安全性问题: 网贷(11%) 交易的安全性(区块链)

1.2 京淘项目架构设计

jt-京淘项目_第1张图片

2.准备工作

2.1 软件:(IDEA、MariaDB【sqlyog】)

2.2 配置文件

1.pom.xml(springboot——Demo1)



    4.0.0
    
    
 
        org.springframework.boot
        spring-boot-starter-parent
        2.3.5.RELEASE
         
 
 
     com.jt
    springboot_demo01
    0.0.1-SNAPSHOT
    springboot_demo01
    Demo project for Spring Boot
    
     
        
 1.8
         true
    
    
     
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.projectlombok
            lombok
            true
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
            
                
                    org.junit.vintage
                    junit-vintage-engine
                
            
        
    
    
    
 
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    
  1. properties说明
1.语法: k-v结构 key=value
2.数据类型: 默认是String数据类型 不要添加多余的""号
3.字符数据类型: properties的默认的加载的编码格式为ISO-8859-1 所以添加中文是需要字符转意.
4.缺点: 所有的key都必须手动的编辑 没有办法复用 所以引入了yml配置
  1. YML 配置文件说明
1.语法 K-V结构 写法上 key:value 实质上 key=value
key:value中间使用 (:+空格) 分隔
key与key之间有父子级关系的. 所以写的时候注意缩进项.
YML配置文件默认的格式都是UTF-8编码 所以可以直接编辑中文
  1. SpringBoot环境切换问题
# 该配置文件,当spring容器启动时加载.
spring:
  profiles:
    active: prod
---

# 定义开发环境
spring:
  profiles: dev

server:
  port: 8080

#配置redis节点信息
redis:
  host: 192.168.1.100
  port: 6379

# 如果需要多环境配置则需要将YML环境分割
---
spring:
  profiles: prod

server:
  port: 8090

#配置redis节点信息
redis:
  host: 10.0.0.1
  port: 6379

5.@Value注解属性赋值
说明:由于YML配置文件一般都是配置第三方的整合的信息,如果将业务的数据添加到YML中则不规范.最好将业务的操作添加到properties文件中.

@RestController        //@ResponseBody 将返回值转化为json串使用 程序将不会执行视图解析器 直接返回
//@Controller          //String类型/moduleAndView
public class RedisController {

    /**
     * 实现思路:
     *   如果可以从容器中获取数据的化,直接赋值给属性.则可以实现解耦
     * 如何实现:
     *      注解实现: @Value("${配置文件的key}")
     * 表达式:  spel 表达式
     */

    @Value("${redis.host}")
    private String host;
    @Value("${redis.port}")
    private Integer port;

    //如果使用RestController 返回值为String类型则返回字符串本身
    //如果返回的是一个对象 则结果必然是该对象的JSON数据.
    @RequestMapping("/getMsg")
    public String getMsg(){

        return host + ":" + port;
    }
}

你可能感兴趣的:(程序员)