java – Erro liberação de cors

Ola a todos estou com seguinte erro em um projeto que estou fazendo curso.

Access to XMLHttpRequest at ‘http://localhost:8080/cursospringrestapi/usuario/’ from origin ‘http://localhost:4200’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

no endpoint ja fiz a liberação mais mesmo assim continua o erro alguém poderia me ajudar ou orientar o que posso estar fazendo de errado, desde ja agradeço.

package curso.api.rest.security;

import java.io.IOException;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;

import curso.api.rest.ApplicationContexLoad;
import curso.api.rest.model.Usuario;
import curso.api.rest.repository.UsuarioRepository;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;

@Service
@Component
public class JWTTokenAutenticacaoService {

// TEMPO DE VALIDADE DO TOKES NESE CASO ABAIXO 2 DIAS
private static final long EXPIRATION_TIME = 172800000;

// uma senha unica para compor a autenticação
private static final String SECRET = "senha123";

// Prefixo padrao de token
private static final String TOKEN_PREFIX = "Bearer";

private static final String HEADER_STRING = "Authorization";

// Gerando token de autenticação e adicionado ao cabeçalho e resposta Http

public void addAuthetication(HttpServletResponse response, String username) throws IOException {

    // montagem do token

    String JWT = Jwts.builder() // chama o gerador de Token
            .setSubject(username) // Adiciona o usuario
            .setExpiration(new Date(System.currentTimeMillis() + EXPIRATION_TIME)) // tempo de expiração
            .signWith(SignatureAlgorithm.HS512, SECRET).compact(); // compactação e algoritimo de geração de senha

    // Junta o token com o prefixo
    String token = TOKEN_PREFIX + " " + JWT; // Exemplo beare 54654-*-447+-*//-77--

    // adiciona no cabeçalho http
    response.addHeader(HEADER_STRING, token); // exemplo retorno Authotization: Bearer kldsjf439052-rjf9-u032=(

    liberacaoCors(response);


    response.getWriter().write("{"Authorization":"" + token + ""}");

}


public Authentication getAuthentication(HttpServletRequest request, HttpServletResponse response) {

    String token = request.getHeader(HEADER_STRING);

    if (token != null) {


        String user = Jwts.parser().setSigningKey(SECRET).parseClaimsJws(token.replace(TOKEN_PREFIX, "")).getBody()
                .getSubject(); 

        if (user != null) {

            Usuario usuario = ApplicationContexLoad.getApplicationContext().getBean(UsuarioRepository.class)
                    .findUserByLogin(user);

            if (usuario != null) {

                return new UsernamePasswordAuthenticationToken(usuario.getLogin(), usuario.getSenha(),
                        usuario.getAuthorities());

            }

        }
    }
    liberacaoCors(response);
    return null; 

}

private void liberacaoCors(HttpServletResponse response) {
     if (response.getHeader("Access-Control-Allow-Origin") == null) {
            response.addHeader("Access-Control-Allow-Origin", "*");     
        }       
        if (response.getHeader("Access-Control-Allow-Headers") == null) {
            response.addHeader("Access-Control-Allow-Headers", "*");        
        }       
        if (response.getHeader("Access-Control-Request-Headers") == null) {
            response.addHeader("Access-Control-Request-Headers", "*");      
        }   
        if (response.getHeader("Access-Control-Allow-Methods") == null) {
            response.addHeader("Access-Control-Allow-Methods", "*");
        }
}

}