1.京淘我的项目架构设计

1.1 互联网行业特点

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

1.2 京淘我的项目架构设计

2.筹备工作

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

2.2 配置文件

1.pom.xml(springboot——Demo1)

<?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>        <!--1.parent标签的作用*** 作用: 1:解决版本抵触问题 2:是一个聚合工程(pom) --> <parent>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-parent</artifactId>        <version>2.3.5.RELEASE</version>        <relativePath/> <!-- lookup parent from repository --> </parent>     <!--2.maven坐标*** maven我的项目标识:组Id/项目名称/版本号  称为maven坐标 作用: 1: 采纳坐标的模式 2: 在本地仓库中 jar包地位就是坐标的地位,maven工作通过坐标查找执行的jar --> <groupId>com.jt</groupId>    <artifactId>springboot_demo01</artifactId>    <version>0.0.1-SNAPSHOT</version>    <name>springboot_demo01</name>    <description>Demo project for Spring Boot</description>        <!--3.maven我的项目配置信息*** --> <properties>        <!--指定了jdk版本信息--> <java.version>1.8</java.version>        <!-- 跳过测试类打包 默认条件下程序打包会执行测试了类 如果测试类有问题,则程序打包失败. --> <skipTests>true</skipTests>    </properties>        <!--4.依赖 手动依赖项 该依赖项被springBoot进行了高度的整合 springBoot帮忙大家动静的生成了配置我的项目,简化了配置的步骤 该配置称之为自动化的配置信息 开箱即用: 只须要导入jar包简略的配置即可实现对应的性能. --> <dependencies>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-web</artifactId>        </dependency>        <dependency>            <groupId>org.projectlombok</groupId>            <artifactId>lombok</artifactId>            <optional>true</optional>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-test</artifactId>            <scope>test</scope>            <exclusions>                <exclusion>                    <groupId>org.junit.vintage</groupId>                    <artifactId>junit-vintage-engine</artifactId>                </exclusion>            </exclusions>        </dependency>    </dependencies>        <!--5.maven 插件的阐明 SpringBoot利用maven管理工具进行我的项目打包/公布/等操作 该标签必须增加 --> <build>        <plugins>            <plugin>                <groupId>org.springframework.boot</groupId>                <artifactId>spring-boot-maven-plugin</artifactId>            </plugin>        </plugins>    </build></project>
  1. properties阐明
1.语法: k-v构造 key=value2.数据类型: 默认是String数据类型 不要增加多余的""号3.字符数据类型: properties的默认的加载的编码格局为ISO-8859-1 所以增加中文是须要字符转意.4.毛病: 所有的key都必须手动的编辑 没有方法复用 所以引入了yml配置
  1. YML 配置文件阐明
1.语法 K-V构造 写法上 key:value 本质上 key=valuekey:value两头应用 (:+空格) 分隔key与key之间有父子级关系的. 所以写的时候留神缩进项.YML配置文件默认的格局都是UTF-8编码 所以能够间接编辑中文
  1. SpringBoot环境切换问题
# 该配置文件,当spring容器启动时加载.spring:  profiles:    active: prod---# 定义开发环境spring:  profiles: devserver:  port: 8080#配置redis节点信息redis:  host: 192.168.1.100  port: 6379# 如果须要多环境配置则须要将YML环境宰割---spring:  profiles: prodserver:  port: 8090#配置redis节点信息redis:  host: 10.0.0.1  port: 6379

5.@Value注解属性赋值
阐明:因为YML配置文件个别都是配置第三方的整合的信息,如果将业务的数据增加到YML中则不标准.最好将业务的操作增加到properties文件中.

@RestController        //@ResponseBody 将返回值转化为json串应用 程序将不会执行视图解析器 间接返回//@Controller          //String类型/moduleAndViewpublic 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;    }}