您好我尝试使用@configuration
注释实现spring 3.2示例:
这里我用@configuration
注释了Appconfig类。
编写一个方法,为impl.java
创建实例并返回intf作为参考
使用@Bean(name="hw")
注释此方法。
使用这两个导入:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
4.使用Main方法编写课程
在这里,我使用ApplicationContext
创建了AnnotationConfigApplicationContext
实例,并将Appconfig.class
作为上下文参考的参数,称为getBean
方法" hw
"在intf ref上调用和接收intf引用,调用我的服务方法。
使用的进口是:
import org.springframework.context.ApplicationContext;<br>
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
将classpath设置为spring-context-3.2.8.RELEASE.jar
我收到编译错误如下:
AppConfig.java:1: error: package org.springframework.context.annotation does not exist
import org.springframework.context.annotation.Bean;
^
AppConfig.java:2: error: package org.springframework.context.annotation does not exist
import org.springframework.context.annotation.Configuration;
^
AppConfig.java:5: error: cannot find symbol
@Configuration
^
symbol: class Configuration
ConfigReadMain.java:1: error: package org.springframework.context does not exist
import org.springframework.context.ApplicationContext;
^
ConfigReadMain.java:2: error: package org.springframework.context.annotation does not exist
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
^
AppConfig.java:10: error: cannot find symbol
@Bean(name="HW") ^ symbol: class Bean
location: class AppConfig
ConfigReadMain.java:7: error: cannot find symbol
ApplicationContext actxt = new AnnotationConfigApplicationContext(AppConfig.class);
^
symbol: class ApplicationContext location: class ConfigReadMain
ConfigReadMain.java:7: error: cannot find symbol
ApplicationContext actxt = new AnnotationConfigApplicationContext(AppConfig.class);
^
symbol: class AnnotationConfigApplicationContext
location: class ConfigReadMain
HelloWorldImpl.java:3: error: printHelloWorld(String) in HelloWorldImpl cannot implement printHelloWorld(String) in HelloWorldInf void printHelloWorld(String msg){
^
attempting to assign weaker access privileges; was public
9 errors
答案 0 :(得分:1)
9个编译错误中的8个似乎是因为spring-context
JAR不在您的类路径上。我知道你的问题说你已经在类路径上得到了它,但编译错误提示不然。你用什么来编译?您是否正在使用不同的技术来编辑代码而不是构建代码? (例如,在Eclipse中编辑,但在Ant中构建。)如果是这样,请确保该JAR位于两种技术的类路径中。
最后一个似乎是因为您将接口方法声明为公开但您的实现类不公开。 (也许它是默认的,也许是受保护的,也许是隐私的,我们无法知道,因为你没有发布这些代码,但无论哪种方式,只要公开它,你就会变得很好。 )
答案 1 :(得分:0)
如果您使用命令行编译和管理spring framework application,那么您完全错了!
让IDE像eclipse spring plugins与Spring Framework 3一起完美地适合您的申请!
如果你问我,我使用上面的所有内容,我几乎设法从我的网络应用程序中获取一些东西,那么你呢?
我的意思是用记事本运行并编译一个hello world应用程序,命令行就可以了,
但是像IDE那样复杂的应用程序,你一定是在开玩笑吧。
现在是时候使用严肃的{{3}}。
<强> Note: All the keywords in my answer are hypertexts to enable you surf instantly a proper site.
强>