spring1 Min Read

Spring - Learn Multiple Ways to use PackageScan Annotation

Gorav Singal

January 14, 2022

TL;DR

Use @ComponentScan with single packages, multiple packages via arrays, or basePackageClasses to configure Spring bean discovery.

Spring - Learn Multiple Ways to use PackageScan Annotation

Introduction

In this post, we will see multiple ways to use @PackageScan annotation.

Multiple Ways of Using @PackageScan

  • Provide Single package
@ComponentScan("com.mypackage1")
  • Provide Multiple Packages by String[] array
@ComponentScan({"com.mypackage1", "com.mypackage2"})
  • By Specifying Classes
@ComponentScan(basePackageClasses = {MyClass1.class, MyClass2.class})

This way is type-safe.

  • By Using basePackages attribute
@ComponentScan(basePackages={"com.mypackage1", "com.mypackage2"})
  • Nested Usage of ComponentScan
@ComponentScans(value = { 
    @ComponentScan("com.mypackage1"),
    @ComponentScan("com.mypackage2") 
})

See another post, where we write on Fixing Autowire Bean Not Found

Share

Related Posts

Spring Boot - Fixing Autowire Bean Not found

Spring Boot - Fixing Autowire Bean Not found

Introduction In a Spring boot app, we tend to use annotation, so that Spring…

Fix: SAML Message Intended Destination Did Not Match Recipient

Fix: SAML Message Intended Destination Did Not Match Recipient

Introduction I was trying to integrate Okta with Spring, and when I deploy the…

Java Log4j Logger - Programmatically Initialize JSON logger with customized keys in json logs

Java Log4j Logger - Programmatically Initialize JSON logger with customized keys in json logs

Introduction Java log4j has many ways to initialize and append the desired…

Java - Union and Intersection of two lists

Java - Union and Intersection of two lists

Suppose you have two lists, and you want Union and Intersection of those two…

Linkage Error Loader Constraint Violation - JUnit test case development issue

Linkage Error Loader Constraint Violation - JUnit test case development issue

Its good to write unit tests cases, and this part is mostly forgotten by…

How to mock a constructor - Junit test case development issues

How to mock a constructor - Junit test case development issues

While writing JUnit test cases, we encounter cases like we want to initialize a…

Latest Posts

AI Video Generation in 2025 — Models, Costs, and How to Build a Cost-Effective Pipeline

AI Video Generation in 2025 — Models, Costs, and How to Build a Cost-Effective Pipeline

AI video generation went from “cool demo” to “usable in production” in 2024-202…

AI Models in 2025 — Cost, Capabilities, and Which One to Use

AI Models in 2025 — Cost, Capabilities, and Which One to Use

Choosing the right AI model is one of the most impactful decisions you’ll make…

AI Image Generation in 2025 — Models, Costs, and How to Optimize Spend

AI Image Generation in 2025 — Models, Costs, and How to Optimize Spend

Generating one image with AI costs between $0.002 and $0.12. That might sound…

AI Coding Assistants in 2025 — Every Tool Compared, and Which One to Actually Use

AI Coding Assistants in 2025 — Every Tool Compared, and Which One to Actually Use

Two years ago, AI coding meant one thing: GitHub Copilot autocompleting your…

AI Agents Demystified — It's Just Automation With a Better Brain

AI Agents Demystified — It's Just Automation With a Better Brain

Let’s cut through the noise. If you read Twitter or LinkedIn, you’d think “AI…

Security Ticketing and Incident Response

Security Ticketing and Incident Response

The worst time to figure out your incident response process is during an…