STS 分布式配置步骤

1.首先需要创建注册中心工程 ,后期的后端服务器和前端服务器都要注册到本注册中心 ,形成一个完成的工程体系

添加Eureka Server依赖

在主类上添加@EnableEurekaServer注解 , 开启服务

在配置文件中添加如下配置
name为注册中心的名字,一般设置为工程名字

spring.application.name=atcrowdfunding-reg-center
server.port=1001
eureka.instance.hostname=127.0.0.1
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/

port为端口号 , 不要重复即可
hostname为服务器所在机器的地址
eureka和registry的状态表示注册中心是否需要键集群 ,如果需要注册到其他注册中心则设置为true
defaultZone为本服务器发布的注册网址 ,客户端和服务端根据此网址注册

2.创建公共资源中心 ,不需要添加任何依赖

主要用于存放bean包 ,util包,listener类 ,exception类等各种公共资源

主函数类不用删 , 打包工程的时候需要使用 ,所以不建议删除

为了解决项目的路径问题 ,需配置一个监听器 ,将项目名放入application域 , 需在类上加@WebListener声明监听器
相应的可以添加
@WebServlet //声明Servlet对象
@WebFilter //声明过滤器对象

使用的时候只需在相应的服务器主类上添加扫描注解@ServletComponentScan

3.创建客户端项目   (所有的客户端项目创建步骤都是一样的)

添加Eureka Discovery, Fegin , Freemarker , Web 依赖 ,创建成功后依赖于common

除注册中心和common外都需依赖Eureka Discovery , Fegin 用于接口转发请求到服务器 , Freemarker页面解析

主类上增加@EnableFeignClients  ,@EnableDiscoveryClient开启对应的服务, 加@ServletComponentScan启用监听器扫描

静态资源放在static文件夹下 , 页面放在templates文件下

配置pom.xml文件

配置redis

       

 <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
       <groupId>org.springframework.session</groupId>
       <artifactId>spring-session-data-redis</artifactId>
</dependency>

配置application.properties文件

客户端服务器配置

spring.application.name=atcrowdfunding-boot-portal
eureka.client.serviceUrl.defaultZone=http://localhost:1001/eureka/

server.context-path=/
server.port=8080
server.session.timeout=60
server.tomcat.max-threads=800
server.tomcat.uri-encoding=UTF-8

freemark配置

spring.freemarker.allow-request-override=false
spring.freemarker.allow-session-override=false
spring.freemarker.cache=false
spring.freemarker.charset=UTF-8
spring.freemarker.check-template-location=true
spring.freemarker.content-type=text/html
spring.freemarker.enabled=true  
spring.freemarker.expose-request-attributes=false
spring.freemarker.expose-session-attributes=false
spring.freemarker.expose-spring-macro-helpers=true
spring.freemarker.prefer-file-system-access=false
spring.freemarker.suffix=.ftl
spring.freemarker.template-loader-path=classpath:/templates/
spring.freemarker.settings.template_update_delay=0
spring.freemarker.settings.default_encoding=UTF-8
spring.freemarker.settings.classic_compatible=true 
spring.freemarker.order=1

redis的session共享配置

server.address=127.0.0.1
server.tomcat.remote-ip-header=x-forwarded-for
server.tomcat.protocol-header=x-forwarded-proto
server.tomcat.port-header=X-Forwarded-Port
server.use-forward-headers=true
spring.session.store-type=redis
spring.redis.database=1
spring.redis.host=127.0.0.1
spring.redis.password=123123
spring.redis.port=6379
spring.redis.pool.max-idle=8
spring.redis.pool.min-idle=0
spring.redis.pool.max-active=8
spring.redis.pool.max-wait=-1
spring.redis.timeout=60000

客户端包结构   

controller:处理前端页面请求 , 处理数据调用service接口
service:被controller调用 , 做请求转发 ,调用服务端的controller
service中的方法和服务端controller中的方法声明需一样

4.创建服务端项目   (所有的服务端创建步骤都是一样的)

添加Eureka Discovery ,创建成功后依赖于common ,依赖于Mybatis

在主类上增加@EnableTransactionManagement ,@MapperScan("com.atguigu.**.dao") ,@EnableDiscoveryClient注解开启相应服务

配置pom.xml文件

       

<dependency>
     <groupId>mysql</groupId>
     <artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- 数据库连接池 -->
<dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.0.5</version>
</dependency>
<dependency>
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-starter</artifactId>
      <version>1.1.1</version>
</dependency>

加入数据库连接驱动 ,如果配置还是无法连接可以手动将驱动版本设置为  5.1.45
加入Druid  jar包
加入spring与mybatis的整合jar包

配置application.yml文件

---  
spring: 
  datasource:
    name: mydb
    type: com.alibaba.druid.pool.DruidDataSource
    url: jdbc:mysql://127.0.0.1:3306/atcrowdfunding
    username: root
    password: abcd
    driver-class-name: com.mysql.jdbc.Driver
mybatis:   
  mapper-locations: classpath*:/mybatis/*Mapper.xml
  type-aliases-package: com.lwj.**.bean

指定数据库连接池
要连接的数据库地址
数据库连接用户名和密码
数据库连接驱动
mybatis的Mapper.xml所在路径
bean对象所在路径

配置application.properties文件

spring.application.name=atcrowdfunding-boot-member-service
server.port=2001
eureka.client.serviceUrl.defaultZone=http://127.0.0.1:1001/eureka/

指定服务器的名称 ,客户端接口转发时使用
服务器端口号
注册中心的网址

服务端包结构

controller: 因为服务端数据全部需返回给客户端的service接口 ,需加@RestController注解
service:接口层
service.impl: 接口的实现层 ,被controller调用 , 做一些逻辑处理 , 调用dao层对数据库进行操作 , 
dao: 直接操作数据库 , 简单语句用@Select注解直接写sql语句 , 复杂的写在Mapper.xml文件中

其他

热部署配置依赖 , 只能热部署已写好方法内的代码 , 新建方法之后还需重启服务器(此功能鸡肋)

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional><!-- 这个需要为 true 热部署才有效 -->
</dependency>

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值