在这篇文章中,我们将带领您了解Howtosolvetheerror"Fieldserviceincom.xx.xxx.xxxxrequiredabeanoftype''com.aa...的全貌,同时,
在这篇文章中,我们将带领您了解How to solve the error "Field service in com.xx.xxx.xxxx required a bean of type ''com.aa...的全貌,同时,我们还将为您介绍有关Aborting commit: ''XXXXXXXX''remains in conflict错误、Android格式化手机号xxx xxxx xxxx、BeanNotOfRequiredTypeException:Bean named ''XXXX'' is expected to be of type ''XXX'' ...、C# Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).的知识,以帮助您更好地理解这个主题。
本文目录一览:- How to solve the error "Field service in com.xx.xxx.xxxx required a bean of type ''com.aa...
- Aborting commit: ''XXXXXXXX''remains in conflict错误
- Android格式化手机号xxx xxxx xxxx
- BeanNotOfRequiredTypeException:Bean named ''XXXX'' is expected to be of type ''XXX'' ...
- C# Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
How to solve the error "Field service in com.xx.xxx.xxxx required a bean of type ''com.aa...
When runung a SpringBoot demo, I got a error as following:
***************************
APPLICATION FAILED TO START
***************************
Description:
Field service in com.hy.empcloud.EmpControl required a bean of type ''com.hy.empcloud.EmpService'' that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:
Consider defining a bean of type ''com.hy.empcloud.EmpService'' in your configuration.
After I add a annotation "@Service" to the class com.hy.empCloud.EmpService, the error was solved.
package com.hy.empcloud;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Service;
// To provide service of employees
@Service
public class EmpService {
private List<Emp> emps;
public EmpService(){
emps=new ArrayList<Emp>();
emps.add(new Emp(1,"Andy",41));
emps.add(new Emp(2,"刘德华",42));
emps.add(new Emp(3,"Bill",43));
emps.add(new Emp(4,"比尔",44));
}
public List<Emp> getAll(){
return emps;
}
public Emp find(long id) throws Exception{
for(Emp e:emps) {
if(e.getId()==id) {
return e;
}
}
throw new Exception("No such employee whose''s id="+id);
}
}
Here is the demo.
--END--
2019 年 8 月 24 日 14 点 24 分
Aborting commit: ''XXXXXXXX''remains in conflict错误
今天在提交项目文件到本地SVN时提示错误如下:
过期:”global.php“在事务”21-1“,
You have to update your working copy first.
运行update更新后再次提交又出现如下错误:
svn: Commit failed (details follow):svn: Aborting commit: ''global.php'' remains in conflict查了一下SVN的手册才知道原来是多个版本之间遇到冲突。此时你需要解决冲突(合并别人的修改)。
--------------------------------------------------------------------------------
举一个例子,Sally修改了sandwich.txt,Harry刚刚改变了他的本地拷贝中的这个文件并且提交到服务器,Sally在提交之前更新它的工作拷贝得到了冲突:
$ svn update C sandwich.txt Updated to revision 2. $ ls -1 sandwich.txt sandwich.txt.mine sandwich.txt.r1 sandwich.txt.r2
在这种情况下,Subversion不会允许你提交sandwich.txt,直到你的三个临时文件被删掉。
$ svn commit --message "Add a few more things" svn: Commit failed (details follow): svn: Aborting commit: ''/home/sally/svn-work/sandwich.txt'' remains in conflict
如果你遇到冲突,三件事你可以选择:
“手动”合并冲突文本(检查和修改文件中的冲突标志)。
用某一个临时文件覆盖你的工作文件。
运行svn revert <filename>来放弃所有的修改。
一旦你解决了冲突,你需要通过命令svn resolved让Subversion知道,这样就会删除三个临时文件,Subversion就不会认为这个文件是在冲突状态了。
$ svn resolved sandwich.txt Resolved conflicted state of ''sandwich.txt''
手工合并冲突
第一次尝试解决冲突让人感觉很害怕,但经过一点训练,它简单的像是骑着车子下坡。
这里一个简单的例子,由于不良的交流,你和同事Sally,同时编辑了sandwich.txt。Sally提交了修改,当你准备更新你的版本,冲突发生了,我们不得不去修改sandwich.txt来解决这个问题。首先,看一下这个文件:
$ cat sandwich.txtTop piece of breadMayonnaiseLettuceTomatoProvolone<<<<<<< .mineSalamiMortadellaProsciutto=======SauerkrautGrilled Chicken>>>>>>> .r2Creole MustardBottom piece of bread小于号、等于号和大于号串是冲突标记,并不是冲突的数据,你一定要确定这些内容在下次提交之前得到删除,前两组标志中间的内容是你在冲突区所做 的修改:
<<<<<<< .mineSalamiMortadellaProsciutto=======后两组之间的是Sally提交的修改冲突:
=======SauerkrautGrilled Chicken>>>>>>> .r2通常你并不希望只是删除冲突标志和Sally的修改—当她收到三明治时,会非常的吃惊。所以你应该走到她的办公室或是拿起电话告诉Sally,你没 办法从从意大利熟食店得到想要的泡菜。一旦你们确认了提交内容后,修改文件并且删除冲突标志。
Top piece of breadMayonnaiseLettuceTomatoProvoloneSalamiMortadellaProsciuttoCreole MustardBottom piece of bread现在运行svn resolved,你已经准备好提交了:
$ svn resolved sandwich.txt$ svn commit -m "Go ahead and use my sandwich, discarding Sally''s edits."记住,如果你修改冲突时感到混乱,你可以参考subversion生成的三个文件—包括你未作更新的文件。你也可以使用第三方的合并工具检 验这三个文件。
拷贝覆盖你的工作文件
如果你只是希望取消你的修改,你可以仅仅拷贝Subversion为你生成的文件替换你的工作拷贝:
$ svn updateC sandwich.txtUpdated to revision 2.$ ls sandwich.*sandwich.txt sandwich.txt.mine sandwich.txt.r2 sandwich.txt.r1$ cp sandwich.txt.r2 sandwich.txt$ svn resolved sandwich.txt下注:使用svn revert
如果你得到冲突,经过检查你决定取消自己的修改并且重新编辑,你可以恢复你的修改:
$ svn revert sandwich.txtReverted ''sandwich.txt''$ ls sandwich.*sandwich.txt注意,当你恢复一个冲突的文件时,不需要再运行svn resolved。
现在我们准备好提交修改了,注意svn resolved不像我们本章学过的其他命令一样需要参数,在任何你认为解决了冲突的时候,只需要小心运行svn resolved,—一旦删除了临时文件,Subversion会让你提交这文件,即使文件中还存在冲突标记。
提交你得修改
最后!你的修改结束了,你合并了服务器上所有的修改,你准备好提交修改到版本库。
svn commit命令发送所有的修改到版本库,当你提交修改时,你需要提供一些描述修改的日志信息,你的信息会附到这个修订版本上,如果信息很简短,你可以在命令行中使用--message(-m)选项:
$ svn commit --message "Corrected number of cheese slices." Sending sandwich.txt Transmitting file data . Committed revision 3.
然而,如果你把写日志信息当作工作的一部分,你也许会希望通过告诉Subversion一个文件名得到日志信息,使用--file选项:
$ svn commit --file logmsg Sending sandwich.txt Transmitting file data . Committed revision 4.
如果你没有指定--message或者--file选项,Subversion会自动地启动你最喜欢的编辑器来编辑日志信息。
版本库不知道也不关心你的修改作为一个整体是否有意义,它只检查是否有其他人修改了同一个文件,如果别人已经这样做了,你的整个提交会失败,并且提示你一个或多个文件已经过时了:
$ svn commit --message "Add another rule" Sending rules.txt svn: Commit failed (details follow): svn: Out of date: ''rules.txt'' in transaction ''g''
此刻,你需要运行svn update来处理所有的合并和冲突,然后再尝试提交。
我们已经覆盖了Subversion基本的工作周期,还有许多其它特性可以管理你得版本库和工作拷贝,但是只使用前面介绍的命令你就可以很轻松的工作了。
Android格式化手机号xxx xxxx xxxx
1.输入框EditText布局
2.EditText设置监听
et1.addTextChangedListener(new TextWatcher());
3.监听中实现
1 et1.addTextChangedListener(new TextWatcher() {
2 @Override
3 public void beforeTextChanged(CharSequence s, int start, int count, int after) {
4
5 }
6
7 @Override
8 public void onTextChanged(CharSequence s, int start, int before, int count) {
9 String contents = s.toString();
10 int length = contents.length();
11 if(length == 4){
12 if(contents.substring(3).equals(new String(" "))){ // -
13 contents = contents.substring(0, 3);
14 et1.setText(contents);
15 et1.setSelection(contents.length());
16 }else{ // +
17 contents = contents.substring(0, 3) + " " + contents.substring(3);
18 et1.setText(contents);
19 et1.setSelection(contents.length());
20 }
21 } else if(length == 9){
22 if(contents.substring(8).equals(new String(" "))){ // -
23 contents = contents.substring(0, 8);
24 et1.setText(contents);
25 et1.setSelection(contents.length());
26 }else{// +
27 contents = contents.substring(0, 8) + " " + contents.substring(8);
28 et1.setText(contents);
29 et1.setSelection(contents.length());
30 }
31 }
32
33 }
34
35 @Override
36 public void afterTextChanged(Editable s) {
37 String tel = et1.getText().toString().trim();
38 tel = tel.replace(" ", "");
39 if (tel.length() == 11) {
40 couldClick = true; //手机号
41 } else {
42 couldClick = false; //不满足条件
43 }
44 }
45 });
BeanNotOfRequiredTypeException:Bean named ''XXXX'' is expected to be of type ''XXX'' ...
直接说结论,前提是在服务实现层启用了 @Transactional(rollbackFor = Exception.class) 注解,然后 controller 层注入的服务应该是接口,但是不知道哪个傻吊注入了实现。详细看后面。
今天测试项目的时候一直报错,找这个错误花费了两三个小时,错误来源于粗心大意,注入的接口弄错了,但不是我弄错了,是公司的其他同事,协作开发。
由于昨天开发、测试一切正常,但是我新写的代码,启动就报错,最开始我百度,基本都是告诉我注入 bean 错误,name 有问题,重名等等,但是我仔细核查都没问题。
后来我一点点的添加自己的代码,测试,发现当我的服务层 Server 方法加上 @Transactional(rollbackFor = Exception.class) 注解,启动就报 RT 错误,这我纳闷了,然后慢慢看注入 bean 的 name 看是否重名,没有,编译也不报错,但我看到这个的时候,简直爆炸。如下图。
当时就想骂人了,谁这么注解的,浪费我时间,难怪会报错,至于深层原因,技术水平时间有限,我也不知道 Orz。
如果有类似错误,但是不是 bean 的 name 等错误,可以看看是不是这个原因。
附完整错误代码:
六月 23, 2019 6:55:08 下午 org.apache.catalina.core.ApplicationContext log
严重: StandardWrapper.Throwable
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ''noticeController'': Unsatisfied dependency expressed through field ''nts''; nested exception is org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named ''noticeService'' is expected to be of type ''service.NoticeService'' but was actually of type ''com.sun.proxy.$Proxy211''
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:588)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:366)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1264)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171)
at javax.servlet.GenericServlet.init(GenericServlet.java:158)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1231)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1144)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1031)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4901)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5188)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named ''noticeService'' is expected to be of type ''service.NoticeService'' but was actually of type ''com.sun.proxy.$Proxy211''
at org.springframework.beans.factory.support.DefaultListableBeanFactory.checkBeanNotOfRequiredType(DefaultListableBeanFactory.java:1510)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.checkBeanNotOfRequiredType(DefaultListableBeanFactory.java:1517)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1489)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1104)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:585)
... 31 more
六月 23, 2019 6:55:09 下午 org.apache.catalina.core.StandardContext loadOnStartup
严重: Servlet [spring] in web application [/mainWeb] threw load() exception
org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named ''noticeService'' is expected to be of type ''.service.NoticeService'' but was actually of type ''com.sun.proxy.$Proxy211''
at org.springframework.beans.factory.support.DefaultListableBeanFactory.checkBeanNotOfRequiredType(DefaultListableBeanFactory.java:1510)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.checkBeanNotOfRequiredType(DefaultListableBeanFactory.java:1517)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1489)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1104)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:585)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:366)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1264)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682)
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553)
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494)
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171)
at javax.servlet.GenericServlet.init(GenericServlet.java:158)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1231)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1144)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1031)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4901)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5188)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
C# Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
一、问题描述
在做C# 的 Guid 转换时,出现这个问题:Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). 中文翻译是:guid应包含32位数字和4个破折号(XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX)。
二、解决方案
看我们转换的字符串是否满足这个条件:guid应包含32位数字和4个破折号(XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX),不满足修改满足即可!
三、案例
我在转换的时候,由于我需要转换的字符串,不满足guid的规则,才出现这个错误。
仔细观察,我需要转换的字符串,根本就不满足 guid 的特点,当我把 ar 中的 “ " ” 号去掉就可以了。
OK,转换完成!
---------------修改2019年05月09日---------------------
因为我的 DataId 本来就是一个Json 字符串,所以没有必要去使用 Replace() 、Split(),直接使用 JsonConvert 操作多好,所以我改为:
var items = JsonConvert.DeserializeObject<List<Guid>>(_recordBookRepository.Get(input.RecordBookId).DataId);
让专业的方法,处理专业的事情,是否是最优解。
---------------修改2019年05月23日---------------------
判断 Guid 是否为空。
传入的参数:
/// <summary>
/// id
/// </summary>
public Guid? StatGroupId { get; set; }
判断是否为空:
var boolStatGroup = input.StatGroupId.HasValue && input.StatGroupId != Guid.Empty;
我们今天的关于How to solve the error "Field service in com.xx.xxx.xxxx required a bean of type ''com.aa...的分享已经告一段落,感谢您的关注,如果您想了解更多关于Aborting commit: ''XXXXXXXX''remains in conflict错误、Android格式化手机号xxx xxxx xxxx、BeanNotOfRequiredTypeException:Bean named ''XXXX'' is expected to be of type ''XXX'' ...、C# Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).的相关信息,请在本站查询。
本文标签: