{"id":354,"date":"2014-01-15T14:45:29","date_gmt":"2014-01-15T14:45:29","guid":{"rendered":"http:\/\/www.andreagirardi.it\/blog\/?p=354"},"modified":"2014-01-15T14:55:22","modified_gmt":"2014-01-15T14:55:22","slug":"datasource-the-name-of-the-property-following-javabean-naming-conventions","status":"publish","type":"post","link":"https:\/\/www.andreagirardi.it\/blog\/datasource-the-name-of-the-property-following-javabean-naming-conventions\/","title":{"rendered":"dataSource: The name of the property, following JavaBean naming conventions."},"content":{"rendered":"<p>Suppose you defined TemplateDao Spring bean in this way:<\/p>\n<pre lang=\"java\">\r\n<bean id=\"dataSource\" class=\"org.springframework.jdbc.datasource.DriverManagerDataSource\">\t\r\n\t<property name=\"driverClassName\"><value>com.mysql.jdbc.Driver<\/value><\/property>\t\r\n\t<property name=\"url\"><value>jdbc:mysql:\/\/${mysql.hostname}:${mysql.port}\/${mysql.db}<\/value><\/property>\r\n\t<property name=\"username\"><value>${mysql.user}<\/value><\/property>\r\n\t<property name=\"password\"><value>${mysql.password}<\/value><\/property>\r\n<\/bean>\t\r\n\r\n<bean id=\"transactionManager\" class=\"org.springframework.jdbc.datasource.DataSourceTransactionManager\">\r\n\t<property name=\"dataSource\" ref=\"dataSource\"\/>\r\n<\/bean> \r\n\r\n<bean id=\"TemplateRequestDao\" class=\"com.afm.admin.dao.mysql.TemplateDaoMySql\">\r\n\t<property name=\"dataSource\" ref=\"dataSource\" \/>\r\n<\/bean>\r\n<\/pre>\n<p>and you get this error message: <b>The name of the property, following JavaBean naming conventions<\/b>. The reason is probably you forgot to extend your implementation class:<\/p>\n<pre lang=\"java\">\r\npublic class TemplateDaoMySql extends JdbcDaoSupport implements TemplateDao {\r\n\r\n\t@Override\r\n\tpublic List<TemplateRequest> getTemplateRequest(UserProfile userProfile) {\r\n\t\t\/\/ TODO Auto-generated method stub\r\n\t\treturn null;\r\n\t}\r\n\r\n}\r\n<\/pre>\n<p>Time lost to fix this issue: more or less 1 hour. Image the how many I was frustrated when I discovered what was the problem. <\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-linkedin\"><a rel=\"nofollow\" data-shared=\"sharing-linkedin-354\" class=\"share-linkedin sd-button share-icon\" href=\"https:\/\/www.andreagirardi.it\/blog\/datasource-the-name-of-the-property-following-javabean-naming-conventions\/?share=linkedin\" target=\"_blank\" title=\"Click to share on LinkedIn\"><span>LinkedIn<\/span><\/a><\/li><li class=\"share-reddit\"><a rel=\"nofollow\" data-shared=\"\" class=\"share-reddit sd-button share-icon\" href=\"https:\/\/www.andreagirardi.it\/blog\/datasource-the-name-of-the-property-following-javabean-naming-conventions\/?share=reddit\" target=\"_blank\" title=\"Click to share on Reddit\"><span>Reddit<\/span><\/a><\/li><li class=\"share-twitter\"><a rel=\"nofollow\" data-shared=\"sharing-twitter-354\" class=\"share-twitter sd-button share-icon\" href=\"https:\/\/www.andreagirardi.it\/blog\/datasource-the-name-of-the-property-following-javabean-naming-conventions\/?share=twitter\" target=\"_blank\" title=\"Click to share on Twitter\"><span>Twitter<\/span><\/a><\/li><li class=\"share-facebook\"><a rel=\"nofollow\" data-shared=\"sharing-facebook-354\" class=\"share-facebook sd-button share-icon\" href=\"https:\/\/www.andreagirardi.it\/blog\/datasource-the-name-of-the-property-following-javabean-naming-conventions\/?share=facebook\" target=\"_blank\" title=\"Click to share on Facebook\"><span>Facebook<\/span><\/a><\/li><li class=\"share-skype\"><a rel=\"nofollow\" data-shared=\"sharing-skype-354\" class=\"share-skype sd-button share-icon\" href=\"https:\/\/www.andreagirardi.it\/blog\/datasource-the-name-of-the-property-following-javabean-naming-conventions\/?share=skype\" target=\"_blank\" title=\"Share on Skype\"><span>Skype<\/span><\/a><\/li><li class=\"share-pocket\"><a rel=\"nofollow\" data-shared=\"\" class=\"share-pocket sd-button share-icon\" href=\"https:\/\/www.andreagirardi.it\/blog\/datasource-the-name-of-the-property-following-javabean-naming-conventions\/?share=pocket\" target=\"_blank\" title=\"Click to share on Pocket\"><span>Pocket<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Suppose you defined TemplateDao Spring bean in this way: com.mysql.jdbc.Driver jdbc:mysql:\/\/${mysql.hostname}:${mysql.port}\/${mysql.db} ${mysql.user} ${mysql.password} and you get this error message: The name of the property, following JavaBean naming conventions. The reason is probably you forgot to extend your implementation class: public class TemplateDaoMySql extends JdbcDaoSupport implements TemplateDao { @Override public List getTemplateRequest(UserProfile userProfile) { \/\/ TODO [&hellip;]<\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-linkedin\"><a rel=\"nofollow\" data-shared=\"sharing-linkedin-354\" class=\"share-linkedin sd-button share-icon\" href=\"https:\/\/www.andreagirardi.it\/blog\/datasource-the-name-of-the-property-following-javabean-naming-conventions\/?share=linkedin\" target=\"_blank\" title=\"Click to share on LinkedIn\"><span>LinkedIn<\/span><\/a><\/li><li class=\"share-reddit\"><a rel=\"nofollow\" data-shared=\"\" class=\"share-reddit sd-button share-icon\" href=\"https:\/\/www.andreagirardi.it\/blog\/datasource-the-name-of-the-property-following-javabean-naming-conventions\/?share=reddit\" target=\"_blank\" title=\"Click to share on Reddit\"><span>Reddit<\/span><\/a><\/li><li class=\"share-twitter\"><a rel=\"nofollow\" data-shared=\"sharing-twitter-354\" class=\"share-twitter sd-button share-icon\" href=\"https:\/\/www.andreagirardi.it\/blog\/datasource-the-name-of-the-property-following-javabean-naming-conventions\/?share=twitter\" target=\"_blank\" title=\"Click to share on Twitter\"><span>Twitter<\/span><\/a><\/li><li class=\"share-facebook\"><a rel=\"nofollow\" data-shared=\"sharing-facebook-354\" class=\"share-facebook sd-button share-icon\" href=\"https:\/\/www.andreagirardi.it\/blog\/datasource-the-name-of-the-property-following-javabean-naming-conventions\/?share=facebook\" target=\"_blank\" title=\"Click to share on Facebook\"><span>Facebook<\/span><\/a><\/li><li class=\"share-skype\"><a rel=\"nofollow\" data-shared=\"sharing-skype-354\" class=\"share-skype sd-button share-icon\" href=\"https:\/\/www.andreagirardi.it\/blog\/datasource-the-name-of-the-property-following-javabean-naming-conventions\/?share=skype\" target=\"_blank\" title=\"Share on Skype\"><span>Skype<\/span><\/a><\/li><li class=\"share-pocket\"><a rel=\"nofollow\" data-shared=\"\" class=\"share-pocket sd-button share-icon\" href=\"https:\/\/www.andreagirardi.it\/blog\/datasource-the-name-of-the-property-following-javabean-naming-conventions\/?share=pocket\" target=\"_blank\" title=\"Click to share on Pocket\"><span>Pocket<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div>","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"footnotes":""},"categories":[14],"tags":[39,4,13],"_links":{"self":[{"href":"https:\/\/www.andreagirardi.it\/blog\/wp-json\/wp\/v2\/posts\/354"}],"collection":[{"href":"https:\/\/www.andreagirardi.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.andreagirardi.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.andreagirardi.it\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.andreagirardi.it\/blog\/wp-json\/wp\/v2\/comments?post=354"}],"version-history":[{"count":2,"href":"https:\/\/www.andreagirardi.it\/blog\/wp-json\/wp\/v2\/posts\/354\/revisions"}],"predecessor-version":[{"id":356,"href":"https:\/\/www.andreagirardi.it\/blog\/wp-json\/wp\/v2\/posts\/354\/revisions\/356"}],"wp:attachment":[{"href":"https:\/\/www.andreagirardi.it\/blog\/wp-json\/wp\/v2\/media?parent=354"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.andreagirardi.it\/blog\/wp-json\/wp\/v2\/categories?post=354"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.andreagirardi.it\/blog\/wp-json\/wp\/v2\/tags?post=354"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}