-1

I have just started learning Spring.I was trying constructor injection but got error.

Code:

HelloWorld.java

package com.SpringIocTest.June5;
public class HelloWorld {

    private  String message ;
    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public HelloWorld(String message) {
        super();
        this.message = message;
    }
}

Start.java

package com.SpringIocTest.June5;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Start {
    public static void main(String[] args) {

        ApplicationContext context = new ClassPathXmlApplicationContext(
            "Bean.xml");
        HelloWorld hw = (HelloWorld) context.getBean("hello");

        System.out.println("Message" + hw.getMessage());

    }
}

Bean.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans
 http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <bean id="hello" class="com.SpringIocTest.June5.HelloWorld">
        <constructor-arg>
            <value>Welcome to Spring IoC!!!</value>
        </constructor-arg>
    </bean>
</beans>

When i try to run this code getting following error

Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/core/env/DefaultEnvironment
    at org.springframework.context.support.AbstractApplicationContext.createEnvironment(AbstractApplicationContext.java:418)
    at org.springframework.context.support.AbstractApplicationContext.<init>(AbstractApplicationContext.java:227)
    at org.springframework.context.support.AbstractRefreshableApplicationContext.<init>(AbstractRefreshableApplicationContext.java:90)
    at org.springframework.context.support.AbstractRefreshableConfigApplicationContext.<init>(AbstractRefreshableConfigApplicationContext.java:59)
    at org.springframework.context.support.AbstractXmlApplicationContext.<init>(AbstractXmlApplicationContext.java:61)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:136)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
    at com.SpringIocTest.June5.Start.main(Start.java:15)
Caused by: java.lang.ClassNotFoundException: org.springframework.core.env.DefaultEnvironment
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 8 more

I am referring to this tutorial.I have added all jars that are mention. Please let me know what i miss?

Ambrish
  • 3,627
  • 2
  • 27
  • 42
sar
  • 1,277
  • 3
  • 21
  • 48
  • Possible duplicate of http://stackoverflow.com/questions/17973970/how-to-solve-java-lang-noclassdeffounderror – Dinal Jun 05 '14 at 09:00

1 Answers1

1

use this

  <constructor-arg type="java.lang.String" value="Zara"/>

Type definition is required when you use String.

rishi
  • 1,792
  • 5
  • 31
  • 63