如果通过上下文手动获取获取对象,可能会报错
ApplicationContext.getBean("BEAN")
容器对象名称生成策略对应方法:java.beans.Introspector#decapitalize
public static String decapitalize(String name) {
if (name == null || name.length() == 0) {
return name;
}
if (name.length() > 1 && Character.isUpperCase(name.charAt(1)) &&
Character.isUpperCase(name.charAt(0))){
return name;
}
char chars[] = name.toCharArray();
chars[0] = Character.toLowerCase(chars[0]);
return new String(chars);
}
如果类名开头两个字母都是大写,则对象名与类名一致,否则将类名首字母小写后作为对象名
如果不想改变类名,可以手动指定名称,例如:@Service("beanName")