Languages
[Edit]
EN

Spring Boot 2 - set full class names as bean names (package + class name)

10 points
Created by:
Emorak
366

In this short article, we would like to show how to set full class names as bean names in Spring Boot 2.

Note: as full class name we understand some.package.ClassName format as way to name beans.

Quick solution:

Use nameGenerator parameter in @SpringBootApplication annotation.

@SpringBootApplication(nameGenerator = MyBeanNameGenerator.class)

 

Practical example

SpringBootWebApplication.java file:

package com.dirask.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication(nameGenerator = CustomBeanNameGenerator.class)  // <----- REQUIRED
public class SpringBootWebApplication {

	public static void main(String[] args) throws Exception {
		SpringApplication.run(SpringBootWebApplication.class, args);
	}
}

 

CustomBeanNameGenerator.java file:

package com.dirask.example;

import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
import org.springframework.beans.factory.support.BeanNameGenerator;

public class CustomBeanNameGenerator implements BeanNameGenerator {

    @Override
    public String generateBeanName(BeanDefinition definition, BeanDefinitionRegistry registry) {
        return definition.getBeanClassName();
    }
}

 

Alternative titles

  1. Spring Boot 2 - use full class names as bean names (package + class name)
Donate to Dirask
Our content is created by volunteers - like Wikipedia. If you think, the things we do are good, donate us. Thanks!
Join to our subscribers to be up to date with content, news and offers.
Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join