I learning Spring on a project which uses thymeleaf. But I also want to use AngularJS. Does thymeleaf duplicate Angular's functionality and vice versa? I don't want to add unnecessary layers to the app.
in a Java application you almost always use a server-side view technology. It could be Thymeleaf or, for example, JSP, JSF or Freemarker. The only way to go without a view technology is to write plain old Java servlets.
You can create thymeleaf fragments and return them as ajax-response (NOT whole template/page) :)
As for me, thymeleaf really much more user-friendly, especially when you are not frontend developer and modern js-frameworks annoy you.