物联网架构成长之路(17)-SpringCloud目前遇到的注意事项

1. STS插件最好是要安装的.

2. 对应的Decompiler插件也是要安装的.

3. 如果遇到maven工程因为找不到包问题的, 在确认pom.xml 文件没有问题的情况下, 右键项目-Maven-Update Project 然后点击OK,更新一下工程,
  还不行的 点击 Force Update of Snapshots/Releases
  还不行的 删除.m2 Maven下载目录下的本地仓库所有文件,重新更新下载一遍
  还不行的 在报错的Markers页签 右键删除报错信息
  然后重新运行Spring Cloud

4.Spring-cloud 项目加入eureka后, restcontroller 默认返回的是xml格式,需要自定义一个配置类

 1 @Configuration
 2 public class WebMvcConfig extends WebMvcConfigurerAdapter {
 3
 4     //解决spring-cloud 加载eureka后, restcontroller 默认返回xml格式
 5     @Override
 6     public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
 7         configurer.ignoreAcceptHeader(true).defaultContentType(MediaType.APPLICATION_JSON);
 8         super.configureContentNegotiation(configurer);
 9     }
10 }

5. 如果需要在项目一启动,就执行某些代码,可以增加如下的监听器代码

 1 @Component
 2 public class OnStartListener implements ApplicationListener<ContextRefreshedEvent> {
 3
 4     @Override
 5     public void onApplicationEvent(ContextRefreshedEvent event) {
 6         System.out.println(event.getApplicationContext().getParent());
 7         System.out.println("on start: " + System.currentTimeMillis());
 8     }
 9
10 }

6.启动事务时,要在启动类加入一些注解

 1 /**
 2  * 启动类
 3  * @author wunaozai
 4  * MapperScan : 扫描的是mapper.xml中namespace指向的包位置
 5  * EnableTransactionManagement : 加入事务
 6  * 加入@Transaction 事务处理后, spring 会启用动态代理方式,
 7  * 所以在EnableTransactionManagement 要增加proxyTargetClass
 8  */
 9 @EnableEurekaClient
10 @SpringBootApplication
11 @EnableTransactionManagement(proxyTargetClass=true)
12 @MapperScan("com.wunaozai.xxx.center.mapper")
13 public class ServiceDeveloperCenterApplication {
14
15     public static void main(String[] args) {
16         SpringApplication.run(ServiceDeveloperCenterApplication.class, args);
17     }
18 }

7.项目中各个文件夹(包名)都最好按照默认的约定的来,不要自己乱改.

8.一份简单的application.properties

 1 spring.application.name=service-developer-center
 2
 3 #server
 4 server.port=9200
 5 server.session.timeout=360000
 6 server.session.cookie.name=IOT
 7
 8 #eureka
 9 eureka.client.serviceUrl.defaultZone=http://172.16.23.203:9000/eureka/
10 eureka.instance.prefer-ip-address=true
11 eureka.instance.instance-id=${spring.cloud.client.ipAddress}:${server.port}
12
13 #logging
14 logging.path=log
15 logging.level.com.favorites=INFO
16 logging.level.org.springframework.web=INFO
17
18 #datasource
19 spring.datasource.url=jdbc:postgresql://172.16.23.202:5432/service_developer_center
20 spring.datasource.username=postgres
21 spring.datasource.password=
22 spring.datasource.driverClassName=org.postgresql.Driver
23
24 #mybatis
25 mybatis.type-aliases-package=com.wunaozai.xxx.center.model
26 mybatis.mapper-locations=classpath:com/wunaozai/xxx/center/mapper/*.xml
27
28 #pagehelper
29 pagehelper.helperDialect=postgresql
30 pagehelper.reasonable=true
31 pagehelper.supportMethodsArguments=true
32 pagehelper.returnPageInfo=check
33
34 #redis
35 spring.redis.database=0
36 spring.redis.host=172.16.20.229
37 spring.redis.port=6379
38 spring.redis.password=
39 spring.redis.timeout=0
40 spring.redis.pool.max-active=8
41 spring.redis.pool.max-wait=-1
42 spring.redis.pool.max-idle=8
43 spring.redis.pool.min-idle=0
44 spring.cache.type=Redis
45
46 #thymeleaf
47 spring.thymeleaf.mode=HTML5
48 spring.thymeleaf.encoding=UTF-8
49 spring.thymeleaf.content-type=text/html
50 spring.thymeleaf.cache=false
51
52 #upload max file size
53 spring.http.multipart.maxFileSize=25Mb
54 spring.http.multipart.maxRequestSize=50Mb
55
56 #email config
57 spring.mail.host=192.168.8.208
58 spring.mail.username=[email protected]
59 spring.mail.password=
60 srping.mail.default-encoding=UTF-8

9.一份简单的 pom.xml

  1 <?xml version="1.0" encoding="UTF-8"?>
  2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4     <modelVersion>4.0.0</modelVersion>
  5
  6     <groupId>com.wunaozai.center</groupId>
  7     <artifactId>service-developer-center</artifactId>
  8     <version>0.0.1</version>
  9     <packaging>jar</packaging>
 10
 11     <name>service-developer-center</name>
 12     <description>XXX开发者中心</description>
 13
 14     <parent>
 15         <groupId>org.springframework.boot</groupId>
 16         <artifactId>spring-boot-starter-parent</artifactId>
 17         <version>1.5.9.RELEASE</version>
 18         <relativePath/> <!-- lookup parent from repository -->
 19     </parent>
 20
 21     <properties>
 22         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 23         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 24         <java.version>1.8</java.version>
 25         <spring-cloud.version>Edgware.SR1</spring-cloud.version>
 26     </properties>
 27
 28     <dependencies>
 29         <dependency>
 30             <groupId>org.springframework.cloud</groupId>
 31             <artifactId>spring-cloud-starter-eureka-server</artifactId>
 32         </dependency>
 33         <dependency>
 34             <groupId>org.springframework.boot</groupId>
 35             <artifactId>spring-boot-starter-web</artifactId>
 36         </dependency>
 37         <dependency>
 38             <groupId>org.postgresql</groupId>
 39             <artifactId>postgresql</artifactId>
 40         </dependency>
 41         <dependency>
 42             <groupId>org.mybatis.spring.boot</groupId>
 43             <artifactId>mybatis-spring-boot-starter</artifactId>
 44             <version>1.3.1</version>
 45         </dependency>
 46         <!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper-spring-boot-starter -->
 47         <dependency>
 48             <groupId>com.github.pagehelper</groupId>
 49             <artifactId>pagehelper-spring-boot-starter</artifactId>
 50             <version>1.2.3</version>
 51         </dependency>
 52         <dependency>
 53             <groupId>org.springframework.boot</groupId>
 54             <artifactId>spring-boot-starter-data-redis</artifactId>
 55         </dependency>
 56         <!-- https://mvnrepository.com/artifact/org.springframework.session/spring-session-data-redis -->
 57         <dependency>
 58             <groupId>org.springframework.session</groupId>
 59             <artifactId>spring-session-data-redis</artifactId>
 60         </dependency>
 61         <dependency>
 62             <groupId>org.springframework.boot</groupId>
 63             <artifactId>spring-boot-starter-thymeleaf</artifactId>
 64         </dependency>
 65         <!-- https://mvnrepository.com/artifact/com.aliyun.oss/aliyun-sdk-oss -->
 66         <dependency>
 67             <groupId>com.aliyun.oss</groupId>
 68             <artifactId>aliyun-sdk-oss</artifactId>
 69             <version>3.0.0</version>
 70         </dependency>
 71         <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
 72         <dependency>
 73             <groupId>commons-io</groupId>
 74             <artifactId>commons-io</artifactId>
 75             <version>2.6</version>
 76         </dependency>
 77         <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
 78         <dependency>
 79             <groupId>commons-fileupload</groupId>
 80             <artifactId>commons-fileupload</artifactId>
 81             <version>1.3.3</version>
 82         </dependency>
 83         <dependency>
 84             <groupId>org.springframework.boot</groupId>
 85             <artifactId>spring-boot-starter-mail</artifactId>
 86         </dependency>
 87
 88         <dependency>
 89             <groupId>org.springframework.boot</groupId>
 90             <artifactId>spring-boot-devtools</artifactId>
 91             <scope>runtime</scope>
 92         </dependency>
 93         <dependency>
 94             <groupId>org.springframework.boot</groupId>
 95             <artifactId>spring-boot-starter-test</artifactId>
 96             <scope>test</scope>
 97         </dependency>
 98     </dependencies>
 99
100     <dependencyManagement>
101         <dependencies>
102             <dependency>
103                 <groupId>org.springframework.cloud</groupId>
104                 <artifactId>spring-cloud-dependencies</artifactId>
105                 <version>${spring-cloud.version}</version>
106                 <type>pom</type>
107                 <scope>import</scope>
108             </dependency>
109         </dependencies>
110     </dependencyManagement>
111
112     <build>
113         <plugins>
114             <plugin>
115                 <groupId>org.springframework.boot</groupId>
116                 <artifactId>spring-boot-maven-plugin</artifactId>
117             </plugin>
118         </plugins>
119     </build>
120
121
122 </project>

原文地址:https://www.cnblogs.com/wunaozai/p/8431713.html

时间: 2024-10-03 17:23:37

物联网架构成长之路(17)-SpringCloud目前遇到的注意事项的相关文章

物联网架构成长之路(16)-SpringCloud从入门到吹水

1.前言 Spring Cloud 现在比较流行,版本更新也是蛮快的,网上资料也是很多.很多参考网上资料就可以学到了.这里给个 http://blog.csdn.net/forezp/article/details/70148833 2.放弃 本来还想写一篇Spring Cloud 入门环境搭建的博客, 后来想了想,还是算了,网上资料一大堆.这里就不写了. 3.吹水 下面就简单聊聊天,吹吹水算了 2018.01.18 笔记 公司网速不行,在进行Maven项目以来更新,偷偷写一些经历. 现在开始学

物联网架构成长之路(56)-SpringCloudGateway+JWT实现网关鉴权

0. 前言 结合前面两篇博客,前面博客实现了Gateway网关的路由功能.此时,如果每个微服务都需要一套帐号认证体系就没有必要了.可以在网关处进行权限认证.然后转发请求到后端服务.这样后面的微服务就可以直接调用,而不需要每个都单独一套鉴权体系.参考了Oauth2和JWT,发现基于微服务,使用JWT会更方便一些,所以准备集成JWT作为微服务架构的认证方式. [https://www.cnblogs.com/wunaozai/p/12512753.html] 物联网架构成长之路(54)-基于Naco

物联网架构成长之路(0)-目录

一.基础 [http://www.cnblogs.com/wunaozai/p/8067621.html] 物联网架构成长之路(1)-前言 [http://www.cnblogs.com/wunaozai/p/8075640.html] 物联网架构成长之路(2)-脚手架工具准备 [http://www.cnblogs.com/wunaozai/p/8082332.html] 物联网架构成长之路(3)-EMQ消息服务器了解

物联网架构成长之路(35)-利用Netty解析物联网自定义协议

一.前言 前面博客大部分介绍了基于EMQ中间件,通信协议使用的是MQTT,而传输的数据为纯文本数据,采用JSON格式.这种方式,大部分一看就知道是熟悉Web开发.软件开发的人喜欢用的方式.由于我也是做web软件开发的,也是比较喜欢这种方式.阿里的物联网平台,也是推荐这种方式.但是,但是做惯硬件开发,嵌入式开发就比较喜欢用裸TCP-Socket连接.采用的是二进制协议.基于此大部分应用场合为了兼容旧设备,就需要单独开发一个TCP服务器的网关.这里使用以前学过的,也是比较流行的Netty框架. 话不

物联网架构成长之路(12)-物联网架构小结1

1. 说明 这一小节,也不具体讲些什么了.最近一个半月都在摸鱼,没什么事做,慢慢学习着SpringBoot和SpringCloud.下面两张图是进行的一次小结.以后随着深入,整个架构肯定是会变的.现在记录一下,每个项目成长都是有一个过程的. 原文地址:https://www.cnblogs.com/wunaozai/p/8312891.html

物联网架构成长之路(24)-Docker练习之Compose容器编排

0.前言 一开始学的之后,是想一步到位直接上Kubernetes(K8s)的,后面没想到,好像有点复杂,有些概念不是很懂.因此学习东西还是要循序渐进,慢慢来.先了解单机编排技术Docker Compose,了解一些技术细节及原理后,在入手K8s.还是不能一口吃成胖子,要多吃几口才可以.而且目前公司都是一些小项目,能用得上DockerCompose已经很不错了,还想要上K8s,估计是不现实的. 1. 安装 可以通过运行下面命令进行安装, 1 curl -L https://github.com/d

物联网架构成长之路(33)-EMQ数据存储到influxDB

一.前言 时隔一年半,技术变化特别快,学习也要跟上才行.以前写过EMQ数据转存问题,当时用了比较笨的方法,通过写插件的方式,把MQTT里面的数据发送到数据库进行存储.当时也是为了学习erlang和emq.现在随着对物联网的深入,也结合实际需求,不停的学习.下面将介绍我实验测试可行的物联网数据分析解决方案.采用的还是开源方案.通过订阅MQTT的根Topic,把所有物联网数据转存到InfluxDB时序数据库,然后通过Grafana进行图表显示.这应该是目前比较流行的方案.二.安装InfluxDB I

物联网架构成长之路(51)-Nacos微服务配置中心、服务注册服务发现

0.前言 之前练习微服务是用Eureka,最近发现BladeX是用的Nacos,发现Nacos还比较简单实用.所以联系一下这个,为物联网V2版本积累经验. 1. 下载.安装.启动 下载Nacos 1 https://github.com/alibaba/nacos/releases 2 https://nacos.io/zh-cn/docs/quick-start.html 解压启动 访问http://127.0.0.1:8848/nacos/index.html 默认帐号密码 nacos/na

物联网架构成长之路(11)-Redis缓存主从复制

1. 说明 在我的物联网平台框架框架中,会用到Redis这个中间件.作为EMQ权限认证的缓存.https://www.cnblogs.com/think-in-java/p/5123884.html 2. 编译&运行 1 wget http://download.redis.io/releases/redis-4.0.6.tar.gz 2 make && make test && make PREFIX=/home/user/workspace/redis inst