1,关于resource配置文件得里面得配置需要顺序加载,不然会报错
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
//比如这里 如果和前面几个加载得串起来得话,就会报错,得成对顺序加载
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
">
<!--开启扫描功能-->
<context:component-scan base-package="com.mashibing">
</context:component-scan>
<!--开启aop注解功能-->
<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
</beans>
2,关于aop切面 Aspect注解,但是不能成功调用得问题
public static void start(Method method, Object ... objects) {
@Before("execution(public Integer com.mashibing.service.MyCalculator.add(Integer, Integer))")
public static void start() {
System.out.println("方法开始执行,参数是 ");
}
我检查了好久的代码,但是在测试方法执行的时候,这个方法一直执行不到,后面去看了好久,原来是基类的所定义的 add的返回类型是 int ,而我这里写的是Integer ,很尴尬了。这现场太惨烈了。修改了基类之后,终于可以成功调用了。
3,在学习springMvc的过程中 引入 defaultServlet的过程中一直是红色的问题 查了一堆博客
https://www.icode9.com/content-4-688911.html
引入以下的依赖,一般就可以解决
web.xml
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
pom.xml
<!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-catalina -->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina</artifactId>
<version>9.0.38</version>
</dependency>
4,跟着教程操作,结果一直报404 找不到路由 也进不到控制器
参考博客: https://www.cnblogs.com/jpfss/p/9584088.html
排查了好久,原来是忘记在web.xml 进行 监听springmvc.xml文件的配置 。。。。
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--设置初始化参数
可以将配置文件修改放到WEB-INF下面,前提是 必须修改为 *-servlet.xml 格式
-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
5,使用spring lombok遇到的一些坑
在类的方法上注解了setter 和 getter 但是还是报错标红
网上找了下:https://blog.csdn.net/marion158/article/details/87893480
需要安装lombok插件: file->settings-->plugins->search(lombok)
6,启动springboot 调用模块服务的时候,一直报错 模块服务没启动
java.lang.IllegalStateException: No instances available for service-test
其实是启动了的,查看了下本地host也配置了 启动类配置了 @LoadBalanced @Bean
最后发现是项目模块打错了一个字母,但是hostname 是正确的
最后移除模块,重新创建了项目 ,把项目名称修改和host一样 可以访问到 懵逼.....
7,关于eureka 集群配置问题
server:
port: 7900
spring:
application:
name: eureka
eureka:
instance:
appname: eureka
client:
register-with-eureka: true
fetch-registry: true
service-url:
defaultZone: http://eureka-7900:7900/eureka/,http://eureka-7901:7901/eureka/,http://eureka-7902:7902/eureka/
#这块一定要是下方对应的hostname ,不然在eureka管理界面会出现所有的节点都是unavailable-replicas
---
spring:
profiles: 7900
server:
port: 7900
eureka:
instance:
hostname: eureka-7900
---
spring:
profiles: 7901
server:
port: 7901
eureka:
instance:
hostname: eureka-7901
---
spring:
profiles: 7902
server:
port: 7902
eureka:
instance:
hostname: eureka-7902
//这是错误截图,正常应该是出现在available-replicas 才对