当前位置: 首页 > 知识库问答 >
问题:

org.springframework.beans。NotWritablePropertyException:属性无效

况喜
2023-03-14

嗨,我是Spring的新手,现在我正在使用Maven运行我的应用程序

但是当我运行我的项目时,我得到的异常如下

bean类的'年'[com.ensis.spring.MovieLister]:Bean属性'年'不可写或具有无效的setter方法。setter的参数类型是否与getter的返回类型匹配?

public class Main {

    public static void main(String[] args){

        ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
        MovieLister movieLister = (MovieLister)ctx.getBean("lister");
        movieLister.printMoviesByYear();
    }
}
private int year;
    private String name;

    public Movie(int year, String name) {
        super();
        this.year = year;
        this.name = name;
    }

    public int getYear() {
        return year;
    }
    public void setYear(int year) {
        this.year = year;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
public class MovieFinder {

    private static List<Movie>moviesList;

    static{

        moviesList.add(new Movie(1990, "A"));
        moviesList.add(new Movie(1991, "B"));
        moviesList.add(new Movie(1992, "C"));
        moviesList.add(new Movie(1993, "D"));
        moviesList.add(new Movie(1994, "E"));
        moviesList.add(new Movie(1995, "F"));
    }

    public List<Movie>findMoviesByYear(int year){

        List<Movie>findMovies=new ArrayList<Movie>();

        for(Movie movie:moviesList){
            if(year==movie.getYear()){
                findMovies.add(movie);          
                }
        }

        return findMovies;
    }

}
public class MovieLister {

    private int year;
    private MovieFinder movieFinder;


    public void printMoviesByYear(){

        List<Movie>found = movieFinder.findMoviesByYear(year);
        for(Movie movie:found){
            System.out.println("So movies are======>"+movie.getName());
        }
    }
}
<?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="lister" class ="com.ensis.spring.MovieLister" autowire="byType">
   <property name="year" value="1991"/>
   </bean>
   <bean id="finder" class="com.ensis.spring.MovieFinder"/>
   </beans>

共有1个答案

岳迪
2023-03-14

向MovieLister添加一个setter:

public void setYear(final int year) {
  this.year = year;
}

这是必需的,因为成员可变年份是私有的。

附注:如果MovieLister实例需要年份或任何其他成员变量,我强烈建议创建一个构造函数来设置这些变量。

 类似资料:
  • 我正在寻找在Swing上下文中使用FXML的JavaFX 2的一点帮助。我用场景生成器(版本: 2.0-b10,变更集: 48fc80a12d33)构建了一个场景,并试图在Java1.7下简单地将其加载到Swing中JFrame上的JFXPanel中。当我这样做时,我在第16行收到无效属性错误。这是第16行:

  • 我正在尝试使用骆驼JavaDSL将文件路由到SFTP服务器,如下所示: 但是,当消息到达此终结点时,Camel 会引发以下异常: 我可以看到在堆栈跟踪中打印的交易所上设置了目标目录属性。如果我替换 exchangeProperty(destinationDir) 在具有实际目标目录(tmp/目标/dir 1/)的路由中,它工作正常。问题是,我需要目标目录是动态的。我尝试过在路由中使用( 在调试Ca

  • 我有一个带有javamail的spring启动应用程序,我配置了spring。属性,但似乎不需要属性来发送电子邮件。 下面是发送电子邮件的java代码 pom.xml 这里我们看到了这个错误 组织。springframework。邮政MailSendException:邮件服务器连接失败;嵌套的异常是com。太阳邮政util。MailConnectException:无法连接到主机,端口:loca

  • 问题内容: 在HTML5中,iframe具有“无缝”之类的新属性,应删除边框和滚动条。我已经尝试过了,但是似乎没有用,我仍然可以看到滚动条和边框(我正在使用Google Chrome浏览器),这是我的代码: 知道为什么它不起作用吗? 还有一个问题,是否可以在iframe中定位页面的特定部分? 问题答案: 尚不正确支持。 Chrome 31(可能还有更早的版本)支持该属性的某些部分,但不完全支持。

  • 本文向大家介绍iisschlp.wsc [88,25] 属性值无效 : progid,包括了iisschlp.wsc [88,25] 属性值无效 : progid的使用技巧和注意事项,需要的朋友参考一下 在执行iisapp.vbs时,可能会提示如下错误: Windows Script Component - file://C:WINDOWSsystem32iisschlp.wsc [88,25]

  • 我正在尝试通过DriverManagerDatasorce的数据源对象创建JDBC连接。每次我运行应用程序时 引起的原因:org.springframework.beans.属性BatchUpdateExc的;嵌套的属性AccessExceptions(1)是:属性的访问异常1:org.springframework.beans.方法调用异常:属性'driverClassName'抛出的异常;嵌套