core/src/main/java/org/springframework/security/access/method/MapBasedMethodSecurityMetadataSource.java
private void addSecureMethod(String name, List<ConfigAttribute> attr) {
		int lastDotIndex = name.lastIndexOf(".");

		if (lastDotIndex == -1) {
			throw new IllegalArgumentException("'" + name
					+ "' is not a valid method name: format is FQN.methodName");
		}

		String methodName = name.substring(lastDotIndex + 1);
		Assert.hasText(methodName, () -> "Method not found for '" + name + "'");

		String typeName = name.substring(0, lastDotIndex);
		Class<?> type = ClassUtils.resolveClassName(typeName, this.beanClassLoader);

		addSecureMethod(type, methodName, attr);
	}
private void addSecureMethod(String name, List<ConfigAttribute> attr) {
		int lastDotIndex = name.lastIndexOf(".");

		if (lastDotIndex == -1) {
			throw new IllegalArgumentException("'" + name
					+ "' is not a valid method name: format is FQN.methodName");
		}

		String methodName = name.substring(lastDotIndex + 1);
		Assert.hasText(methodName, () -> "Method not found for '" + name + "'");

		String typeName = name.substring(0, lastDotIndex);
		Class<?> type = ClassUtils.resolveClassName(typeName, this.beanClassLoader);

		addSecureMethod(type, methodName, attr);
	}
Add configuration attributes for a secure method. Method names can end or start
with <code>*</code> for matching multiple methods.

@param name type and method name, separated by a dot
@param attr the security attributes associated with the method