javaで、windowsアプロケーションを作成するにあたり、まずは実行可能なjarを生成しようと思いました。
普段WEBアプリケーション開発でSpring/Mavenあたりを使用しているので、使いなれたものを使おうと思い、
同じくSpring / MavenでHello worldを作りました。

TestMain.java

package aaa.bbb.ccc;

@Component
public class TestMain {
    public static void main(String[] args) {
        try {
            ApplicationContext ctx = new AnnotationConfigApplicationContext(TestConfig.class);
            TestMain main = ctx.getBean(TestMain.class);
            main.exec();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void exec() {
        System.out.println("Hello world");
    }
}

TestConfig.java

@Configuration
@ComponentScan(basePackages = {"aaa.bbb.ccc"})
    public class TestConfig {   
}

POMにはmaven-assembly-pluginを追加しました。

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.2</version>
    <configuration
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <archive>
            <manifest>
                <mainClass>aaa.bbb.ccc.TestMain</mainClass>
            </manifest>
        </archive>
    </configuration>
</plugin>

これでローカルのリポジトリで

mvn clean install

を行い、生成されたjarのところで

java -jar sample.jar
java -classpath "*" aaa.bbb.ccc.TestMain

等やってみましたが、

ApplicationContextが見つかりませんと出ます。
FatJarの定義を書いてあるので、Springまでラッピングしてくれるものかと思っていたのですが違うのでしょうか?
実行時にSpring本体等もクラスパスに追加しないとできないのでしょうか?

よろしくお願いします。