【Spring】循环依赖的问题

环境是spring4.3.9
ssm项目

我发现项目中serverA和serverB
他们之间互相用了注解@Resource有注入

但是为什么没有出现循环依赖的报错呢,一直很正常的运行
就是serverA里有serverB,然后serverB里也有serverA,但就是没报错过

然后我今天在serverA的实现类里用了一个注解@Async,然后启动的时候才爆出了引用依赖的错误,删掉这个注解又正常了,我现在是百脸懵逼,求解

 Error creating bean with name 'doServiceImpl': Bean with name 'doServiceImpl' has been injected into other beans [soPackageServiceImpl] in its raw version as part of a circular reference, but has eventually been wrapped. This means that said other beans do not use the final version of the bean. This is often the result of over-eager type matching - consider using 'getBeanNamesOfType' with the 'allowEagerInit' flag turned off, for example.

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
紧急求助!springboot、springcloud循环依赖怎么解决?

一开始程序时没问题的,配置完eureka重启后就开始报错 ![图片说明](https://img-ask.csdn.net/upload/202001/03/1578061069_59067.png) +++++++++++++ ![图片说明](https://img-ask.csdn.net/upload/202001/03/1578061123_51436.png) ++++++++++++ 简单地说就是,如果 开启datasource自动配置,就会陷入循环依赖,关闭自动配置,就会因为无法注入而报错 请问大神怎么解决?能不能从循环依赖那个角度入手?

SPRING循环依赖(circular reference)问题求解

<?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:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd" default-autowire="byType" > <aop:aspectj-autoproxy/> <bean id="aspect" class="com.zyoung.aspect.AspectHandler"/> <!-- class="org.springframework.jdbc.datasource.DriverManagerDataSource" --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" > <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@localhost:1521:zyoung" /> <property name="username" value="student" /> <property name="password" value="student" /> </bean> <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"> <property name="configLocation"> <value>classpath:config.xml</value> </property> <property name="dataSource" ref="dataSource"> </property> </bean> <!-- 根据sqlMapClien创建一个SqlMapClient模版类--> <bean id="sqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate"> <property name="sqlMapClient"> <ref bean="sqlMapClient" /> </property> </bean> <bean id="LoginAction" class="com.zyoung.actions.Login"> <property name="userService" ref="userService"></property> </bean> <!-- bean中的class为实现接口的类;property的name为类中引用的属性名称;ref为spring注册的名称,如上面的client--> <bean id="userDao" class="com.zyoung.dao.impl.UserDao"> <property name="client" ref="sqlMapClientTemplate" /> </bean> <bean id="userService" class="com.zyoung.service.impl.UserService"> <property name="userDao" ref="userDao"></property> </bean> <tx:advice id="txadvice" transaction-manager="Manager"> <tx:attributes> <tx:method name="get*" read-only="true" /> <tx:method name="*"/> </tx:attributes> </tx:advice> <aop:config> <aop:pointcut id="point" expression="execution(* com.zyoung.service.impl.UserService.insertUser(..))" /> <aop:advisor pointcut-ref="point" advice-ref="txadvice"/> </aop:config> <bean id="Manager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> [color=red]<!-- Introducation实验--> <bean id="Iother" class="introduction.OtherImpl"/> <bean id="advisorss" class="org.springframework.aop.support.DefaultIntroductionAdvisor"> <constructor-arg index="0"> <ref bean="Iother"/> </constructor-arg> <constructor-arg index="1"> <value>introduction.IOther</value> </constructor-arg> </bean> <bean id="poxyOther" class="org.springframework.aop.framework.ProxyFactoryBean"> <property name="proxyInterfaces"> <value>com.zyoung.service.IUserService</value> </property> <property name="target"> <ref bean="userService"/> </property> <property name="interceptorNames"> <list> <value>advisorss</value> </list> </property> </bean>[/color] </beans> 错误: org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'dataSource': Bean with name 'dataSource' has been injected into other beans [sqlMapClient, Manager] in its raw version as part of a circular reference, but has eventually been wrapped (for example as part of auto-proxy creation). This means that said other beans do not use the final version of the bean. This is often the result of over-eager type matching - consider using 'getBeanNamesOfType' with the 'allowEagerInit' flag turned off, for example. ..... 我没加入 <!-- Introducation实验--> 以下配置时没报错,找了半天不知道哪循环依赖了,本人刚刚学spring 忘各位大侠详细解答,谢谢了

spring boot单元测试时依赖注入失败怎么解决?

测试类 ![图片说明](https://img-ask.csdn.net/upload/201905/29/1559123110_583901.png) Controller类 ![图片说明](https://img-ask.csdn.net/upload/201905/29/1559123185_381071.png) 错误信息 ![图片说明](https://img-ask.csdn.net/upload/201905/29/1559123289_145321.png)

Maven建立项目时的模块之间的依赖问题与单元测试的冲突

  问题是这样的:我用Maven建立的了个spring mvc 的demo.这个项目共有web,controller, service,dao,model,utils这几个module.然后,web依赖于controller,controller依赖于service,service依赖于dao,dao依赖于model,model依赖于utils,utils依赖于spring相关的jar.我把spring的配置文件放在了web下(因为是demo,所以只有一个文件,di使用的是注解),然后在web.xml中配置DispatcherServlet的时候加载spring的配置文件。   然后问题来了,因为这是个demo,我根本没想启动server,我只是想做些单元测试,但我发现按上面的方式建立项目,不启动server根本无法进入spring的环境。于是,我选择手动加载spring的context,我把手动加载context的代码放在了utils这个module中(其实这就是我加这个模块的目的).但是问题来了,因为spring配置文件在web中,所以我在utils 中“够不着”配置文件。我解决这个问题的方法是:让utils依赖于web,但后来发现这样就造成了依赖的循环。 好了,问题就是这样,我还试过一些其它的解决办法,但都遇到这样那样的问题,没有一种方法能令我满意。 所以我想问问大家,这个问题应该怎么解决,或者,你们平时是怎么建立项目的?

spring 依赖注入的困惑 关于子类和父类

有一个Son类 package cn.extend; import javax.annotation.Resource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; public class Son extends Father { } 还有一个父类Father package cn.extend; public class Father { private String name; protected int age; public Long maney; private GrandFather grandFather;//这里是private私有成员 public GrandFather getGrandFather() { return grandFather; } public final void setGrandFather(GrandFather grandFather) { //这里声明final 子类不可以重写这个方法 this.grandFather = grandFather; System.out.println("father final set Method---->"+this.grandFather.showFather()); } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Long getManey() { return maney; } public void setManey(Long maney) { this.maney = maney; } } 一个爷爷类GrandFather package cn.extend; public class GrandFather { public String showFather() { return "i am your father"; } } 那么我们在spring的applicationContext.xml配置文件中 <?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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"> <bean id="grandFather" class="cn.extend.GrandFather"></bean> <bean id="father" class="cn.extend.Father"></bean> <bean id="son" class="cn.extend.Son" > <property name="name" value="kenan"></property> <property name="age" value="22"></property> <property name="maney" value="100"></property> <property name="grandFather"> <ref bean="grandFather"></ref> </property> </bean> </beans> 问题来了 我在Son的<bean 配置里面写上了父类所有的成员属性 而且我的setGrandFather()方法还是final的 测试类 public class TestExtends { @Test public void testExtend(){ ApplicationContext context=new ClassPathXmlApplicationContext("cn/extend/applicationContext.xml"); Father father=(Father)context.getBean("father"); Son son=(Son)context.getBean("son"); System.out.println(father.getAge()+father.getName()); System.out.println("father--->"+father.getGrandFather()); System.out.println(son.getAge()+son.getName()); System.out.println("son--->"+son.getGrandFather().showFather()); } } 输出的结果 father final set Method---->i am your father(这句话说明父类的这个属性已经被赋值了) 0null(父类的属性也都是为空,但是神奇的是子类可以获得到) father--->null(问题的是,为什么从容器中取出来的father调用getGrandFather()方法就是为null的呢) 22kenan son--->i am your father(而且子类是可以获得父类的GrandParent()还可以拿出来,但是father类就是null,

spring的注入问题请教大神

公司项目service层注入的mapper接口是怎么被spring容器扫描到的,我看mapper接口上也没有注解呀 service层代码: public class IhOrderServiceImpl { @Autowired private OrderMapper orderMapper; OrderMapper是个接口,没有任何用于注入的标签

maven 依赖冲突问题

今调试一个程序,引入了两个不同版本的jar包,发生了冲突,但是看到的现象是一个jar包都没引入进来。什么情况下发生冲突会一个jar包都引入不进来呢?

spring 动态代理的问题

看spring的书 看到动态代理 那么spring 什么时候需要配置动态代理啊

项目 刚刚 启动时 反复循环 动态代理

![图片说明](https://img-ask.csdn.net/upload/201901/23/1548224319_771730.png) 项目 刚刚 启动时 反复循环 代理 怎么解决

如何解决重复加载Spring配置文件

菜鸟有一问题请教: 任务描述:我采用struts1.2+hibernate3.0+spring2.0搭建框架,开发项目。在使用dwr技术实现检查机构名是否存在功能。功 能实现在业务层,由于要调用数据层的方法,我使用spring的依赖注入方式,将数据层实现类注入到数据层的接口对象。 问题描述:在web.xml中配置dwr方式一: <servlet> <servlet-name>dwr</servlet-name> <servlet-class> org.directwebremoting.servlet.DwrServlet </servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dwr</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping> 这样配置,无法实现注入,数据层接口对象为null; 在web.xml中配置dwr方式二: 在以上配置上加入以下: <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> 这种方式spring配置文件会重复加载,因为在strut配置文件中添加对spring的支持是采用插件方式。 我的问题:怎样解决重复加载spring配置文件?

springcloud项目引入spring-cloud-starter-bus-amqp依赖后启动报错Failed to bind properties under 'server.error.include-stacktrace'

springcloud项目中加入如下依赖后不能正常启动: ``` <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> </dependency> ``` 报如下错误: ``` 2019-09-16 11:50:59.236 WARN [restartedMain] org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext -Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tomcatServletWebServerFactory' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/ServletWebServerFactoryConfiguration$EmbeddedTomcat.class]: Initialization of bean failed; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'servletWebServerFactoryCustomizer' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/ServletWebServerFactoryAutoConfiguration.class]: Unsatisfied dependency expressed through method 'servletWebServerFactoryCustomizer' parameter 0; nested exception is org.springframework.boot.context.properties.ConfigurationPropertiesBindException: Error creating bean with name 'server-org.springframework.boot.autoconfigure.web.ServerProperties': Could not bind properties to 'ServerProperties' : prefix=server, ignoreInvalidFields=false, ignoreUnknownFields=true; nested exception is org.springframework.boot.context.properties.bind.BindException: Failed to bind properties under 'server.error.include-stacktrace' to org.springframework.boot.autoconfigure.web.ErrorProperties$IncludeStacktrace 2019-09-16 11:50:59.273 INFO [restartedMain] org.springframework.boot.autoconfigure.logging.ConditionEvaluationReportLoggingListener - Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2019-09-16 11:50:59.275 INFO [restartedMain] com.netflix.discovery.DiscoveryClient -Shutting down DiscoveryClient ... 2019-09-16 11:50:59.291 INFO [restartedMain] com.netflix.discovery.DiscoveryClient -Completed shut down of DiscoveryClient 2019-09-16 11:50:59.301 ERROR [restartedMain] org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter - *************************** APPLICATION FAILED TO START *************************** Description: Failed to bind properties under 'server.error.include-stacktrace' to org.springframework.boot.autoconfigure.web.ErrorProperties$IncludeStacktrace: Property: server.error.include-stacktrace Value: ALWAYS Origin: "server.error.include-stacktrace" from property source "devtools" Reason: 0 Action: Update your application's configuration ``` 要如何解决???

maven项目依赖冲突,提示是jar重复了

我的maven结构是这样的:parent(定义jar),parentWeb(最终发不到tomcat上),Cmodule(聊天模块),Dmodule(用户模块),parentWeb依赖于parent、Cmodule、Dmodule,Cmodule依赖于parent,Dmodule依赖于parent,现在我总是出现一下这个问题: Duplicate fragment name: spring_web for jar:file:/d:/Users/a/.m2/repository/org/springframework/spring-web/4.0.0.RELEASE/spring-web-4.0.0.RELEASE.jar!/META-INF/web-fragment.xml and jar:file:/D:/tools/workspace/architecture/architectureweb/target/tmp/customermgr-0_0_1-SNAPSHOT_war/WEB-INF/lib/spring-web-4.0.0.RELEASE.jar!/META-INF/web-fragment.xml

spring初始化bean的问题

如题, 工作中遇到一个类似"循环引用"的问题: ``` <bean id="A" class="com.xxx.A" init-method="initA"> <property name="B" ref="B"></property> </bean> <bean id="B" class="com.xxx.B" init-method="initB"> </bean> ``` 上面的xml加载初始化 "A" bean的时候, 配置ref B 会依据无参构造器创建“B”Bean, 并暴露一个exposedObj提前返回, 此时initB未执行 , 继续完成"A" bean 的创建, 执行initA , 而initA需要initB提供的一些变量, 就会发生空指针异常. 解决方法一: 先初始化B bean, 还有其他方法吗?

关于Spring源码深度解析理解问题,求大佬解答

关于在Spring源码解析这本书中,关于bean加载章节循环依赖中,“提前暴露工厂方法(objectFactory)怎么理解”?另外为什么Spring中为什么解决不了构造器循环依赖的问题?求大佬帮忙解答,谢谢

spring security和spring oauth结合后 spring security配置不管用了

> spring security ``` @Configuration @EnableResourceServer public class AppWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter { @Autowired private ZuulProperties zuulProperties; @Autowired private AuthenticationSuccessHandler appAuthenticationSuccessHandler; @Autowired private AuthenticationFailureHandler appAuthenticationFailureHandler; @Autowired private AccessDeniedHandler appAccessDeniedHandler; @Bean @Override public AuthenticationManager authenticationManagerBean() throws Exception { AuthenticationManager manager = super.authenticationManagerBean(); return manager; } @Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers(HttpMethod.GET,zuulProperties.getAuth().toGetAdapter()) .permitAll() .and() .authorizeRequests() .antMatchers(HttpMethod.POST,zuulProperties.getAuth().toPostAdapter()) .permitAll() .and() .authorizeRequests() .anyRequest() .authenticated() .and() .exceptionHandling().accessDeniedHandler(appAccessDeniedHandler) .and() .csrf().disable(); } ``` > spring oauth相关 ``` @Configuration @EnableAuthorizationServer public class AppAuthorizationServerConfig extends AuthorizationServerConfigurerAdapter { @Autowired private final AuthenticationManager authenticationManager; @Autowired private UserDetailsService userDetailsService; @Autowired private ZuulProperties zuulProperties; @Autowired private TokenStore tokenStore ; @Autowired(required = false) private JwtAccessTokenConverter jwtAccessTokenConverter; @Autowired(required = false) private TokenEnhancer jwtTokenEnhancer; @Autowired private PasswordEncoder passwordEncoder; public AppAuthorizationServerConfig(AuthenticationManager authenticationManager) { this.authenticationManager = authenticationManager; } @Override public void configure(ClientDetailsServiceConfigurer clients) throws Exception { InMemoryClientDetailsServiceBuilder builder = clients.inMemory(); OAuth2ClientProperties[] clientProperties = zuulProperties.getOauth().getClients(); if(ArrayUtils.isNotEmpty(zuulProperties.getOauth().getClients())) { for (OAuth2ClientProperties oAuth2ClientProperties : clientProperties) { builder.withClient(oAuth2ClientProperties.getClientId()) .secret(oAuth2ClientProperties.getClientSecret()) //token有效时间 .accessTokenValiditySeconds(oAuth2ClientProperties.getAccessTokenValiditySeconds()) //验证模式 .authorizedGrantTypes("password","authorization_code","client_credentials","implicit","refresh_token") //刷新时间 .refreshTokenValiditySeconds(3600*24*100) //跳转地址 .redirectUris("ws.28ph.cn") //权限 .scopes("all"); } } } @Override public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception { endpoints.authenticationManager(authenticationManager) .tokenStore(tokenStore) .userDetailsService(userDetailsService) .reuseRefreshTokens(true); if(jwtAccessTokenConverter != null && jwtTokenEnhancer!=null) { TokenEnhancerChain enhancerChain = new TokenEnhancerChain(); List<TokenEnhancer> tokenEnhancers = new ArrayList<>(); tokenEnhancers.add(jwtTokenEnhancer); tokenEnhancers.add(jwtAccessTokenConverter); enhancerChain.setTokenEnhancers(tokenEnhancers); endpoints .tokenEnhancer(enhancerChain) .accessTokenConverter(jwtAccessTokenConverter); } } @Override public void configure(AuthorizationServerSecurityConfigurer security) throws Exception { security.allowFormAuthenticationForClients() .passwordEncoder(passwordEncoder) .tokenKeyAccess("permitAll()") .checkTokenAccess("isAuthenticated()"); } } ``` 问题的产生:我在spring security配置了几个不需要拦截的uri,但是加入spring oauth 全部被拦截了,如果删掉@EnableResourceServer会出现 发出来的token 认证不了url的问题。。 然后我想大不了不用spring oauth 自带的发token方式。然后我在spring security的成功handler上下发token ,以下是代码 ``` /** * 认证成功跳转 * @author w4837 * */ @Component(value = "AppAuthenticationSuccessHandler") @Slf4j public class AppAuthenticationSuccessHandler extends SavedRequestAwareAuthenticationSuccessHandler { @Autowired private ObjectMapper objectMapper; @Autowired private ClientDetailsService clientDetailsService; @Autowired private AuthorizationServerTokenServices authorizationServerTokenServices; @Override public void onAuthenticationSuccess(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Authentication authentication) throws IOException, ServletException { log.info("登陆成功"); String header = httpServletRequest.getHeader("Authorization"); //请求头包含Authorization 并且以"Basic "开始 if (header == null || !header.startsWith("Basic ")) { throw new UnapprovedClientAuthenticationException("请求头中无Authorization信息"); } try { String[] tokens = extractAndDecodeHeader(header, httpServletRequest); assert tokens.length == 2; String clientId = tokens[0]; String clientSecret = tokens[1]; ClientDetails clientDetails = clientDetailsService.loadClientByClientId(clientId); if(clientDetails == null) { throw new UnapprovedClientAuthenticationException("clientId:"+clientId+"对应的信息不存在。"); }else if(!StringUtils.equals(clientSecret, clientDetails.getClientSecret())) { throw new UnapprovedClientAuthenticationException("clientId:"+clientId+"对应的信息不匹配。"); } @SuppressWarnings("unchecked") TokenRequest tokenRequest = new TokenRequest(MapUtils.EMPTY_MAP, clientId, clientDetails.getScope(),"custom"); OAuth2Request auth2Request = tokenRequest.createOAuth2Request(clientDetails); OAuth2Authentication auth2Authentication = new OAuth2Authentication(auth2Request, authentication); OAuth2AccessToken createAccessToken = authorizationServerTokenServices.createAccessToken(auth2Authentication); // 判断需要的返回类型 httpServletResponse.setContentType(ZuulAppConstant.CONTENT_TYPE_JSON); httpServletResponse.getWriter().write(objectMapper.writeValueAsString(createAccessToken)); } catch (Exception e) { log.error(e.getMessage()); } } /** * 解析header中编码后的数据 * * @param header * @param request * @return * @throws IOException */ private String[] extractAndDecodeHeader(String header, HttpServletRequest request) throws IOException { byte[] base64Token = header.substring(6).getBytes("UTF-8"); byte[] decoded; try { decoded = Base64.decode(base64Token); } catch (IllegalArgumentException e) { throw new BadCredentialsException("Failed to decode basic authentication token"); } String token = new String(decoded, "UTF-8"); int delim = token.indexOf(":"); if (delim == -1) { throw new BadCredentialsException("Invalid basic authentication token"); } return new String[] { token.substring(0, delim), token.substring(delim + 1) }; } ``` 结果 启动还是报循环依赖的错误 ``` *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: ┌─────┐ | appAuthorizationServerConfig defined in file [F:\yulece_aike_ideaword\app-management\app-management-zuul\target\classes\com\yulece\app\management\zuul\authorization\AppAuthorizationServerConfig.class] ↑ ↓ | appWebSecurityConfigurerAdapter (field private org.springframework.security.web.authentication.AuthenticationSuccessHandler com.yulece.app.management.zuul.authorization.AppWebSecurityConfigurerAdapter.appAuthenticationSuccessHandler) ↑ ↓ | AppAuthenticationSuccessHandler (field private org.springframework.security.oauth2.provider.token.AuthorizationServerTokenServices com.yulece.app.management.zuul.authorization.handler.AppAuthenticationSuccessHandler.defaultAuthorizationServerTokenServices) ↑ ↓ | org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerEndpointsConfiguration (field private java.util.List org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerEndpointsConfiguration.configurers) └─────┘ ```

Intellij IDEA 如何打包存在依赖关系的Maven多模块项目?

1. 环境说明: IDEA:IntellijIDEA 2018.2 操作系统:Windows 8.1 项目管理工具:Maven3.5.4 2. 问题描述: 多模块项目,有A模块和B模块;其中A模块为项目提供基础服务,A模块可以成功运行mvn install,本地仓库里也有对应的jar包;A模块包含一个Main方法,除此之外,A模块可以认为没有问题;B模块使用了A中的服务,B中同样有Main方法,B模块不能单独运行 mvn compile;整个项目也无法直接编译。 3. 疑问点: 创建项目的方式没有问题:创建多模块的Hello World项目,可以install成功,它们之间同样存在类似的依赖关系;所以这么来说,是代码的问题?是不是Main方法的存在呢?

mybatis整合spring,DAO从spring中拿sqlSessionFactory会失败

已经解决问题了。是这个代码编写错了。。。。。。。。。。。。。。。。

Spring boot 项目启动因为@value报错Injection of autowired dependencies failed

## Spring boot项目启动时报错—— ## Injection of autowired dependencies failed ## ## ## Could not resolve placeholder 'owa.url' in string value "${owa.url}" ## ## ## ![图片说明](https://img-ask.csdn.net/upload/201902/28/1551351377_216263.png) ## ## ![图片说明](https://img-ask.csdn.net/upload/201902/28/1551351505_690876.png) ## ## ## 定义的owa.url是在application.properties文件当中,并木有问题 ## ## 因为@Value注解的原因, ## 但实际上是自己不小心删掉了pom.xml文件里面的一些内容, ## 其余的文件没有改动 ## ## 就是不知道是改了pom.xml文件中的那些信息了, ## 希望告知是缺少了pom.xml中的哪一部分依赖问题, ## 麻烦帮忙解决一下,谢谢!

web项目可以正常启动,但是打成war包放到tomcat中启动就报错???

用servlet写了一个小型项目,简单的实现了几个功能,没有使用任何框架,但是在maven中引入了spring依赖,因为用JDBCTemplate访问的数据库。 问题:项目写完后正常启动,但是打成war包放到Tomcat中启动就报错。错误信息显示:Cound not open ServletContext resource[\]; 个人见解:我没有使用框架,不需要配置web.xml,但是它启动就要访问web.xml,所以现在比较尴尬,不知道这个web.xml该怎么配。 求解:

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Linux面试题(2020最新版)

文章目录Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别?Linux 使用的进程间通信方式?Linux 有哪些系统日志文件?Linux系统安装多个桌面环境有帮助吗?什么是交换空间?什么是root帐户什么是LILO?什...

Linux命令学习神器!命令看不懂直接给你解释!

大家都知道,Linux 系统有非常多的命令,而且每个命令又有非常多的用法,想要全部记住所有命令的所有用法,恐怕是一件不可能完成的任务。 一般情况下,我们学习一个命令时,要么直接百度去搜索它的用法,要么就直接用 man 命令去查看守冗长的帮助手册。这两个都可以实现我们的目标,但有没有更简便的方式呢? 答案是必须有的!今天给大家推荐一款有趣而实用学习神器 — kmdr,让你解锁 Linux 学习新姿势...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

史上最全的 python 基础知识汇总篇,没有比这再全面的了,建议收藏

网友们有福了,小编终于把基础篇的内容全部涉略了一遍,这是一篇关于基础知识的汇总的文章,请朋友们收下,不用客气,不过文章篇幅肯能会有点长,耐心阅读吧爬虫(七十)多进程multiproces...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

85后蒋凡:28岁实现财务自由、34岁成为阿里万亿电商帝国双掌门,他的人生底层逻辑是什么?...

蒋凡是何许人也? 2017年12月27日,在入职4年时间里,蒋凡开挂般坐上了淘宝总裁位置。 为此,时任阿里CEO张勇在任命书中力赞: 蒋凡加入阿里,始终保持创业者的冲劲,有敏锐的...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

新一代神器STM32CubeMonitor介绍、下载、安装和使用教程

关注、星标公众号,不错过精彩内容作者:黄工公众号:strongerHuang最近ST官网悄悄新上线了一款比较强大的工具:STM32CubeMonitor V1.0.0。经过我研究和使用之...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

大学一路走来,学习互联网全靠这几个网站,最终拿下了一把offer

大佬原来都是这样炼成的

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

什么时候跳槽,为什么离职,你想好了么?

都是出来打工的,多为自己着想

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

你期望月薪4万,出门右拐,不送,这几个点,你也就是个初级的水平

先来看几个问题通过注解的方式注入依赖对象,介绍一下你知道的几种方式@Autowired和@Resource有何区别说一下@Autowired查找候选者的...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

立即提问
相关内容推荐