• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Dependency Injection

 
Kevin Broderick
Ranch Hand
Posts: 39
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello Ranchers,

I've got to ask ye this so as I can put the record straight. In my business service class instead of doing:

BusinessService(DAODatabase database)

what I've done instead is

BusinessService(String Connection)

where the string connection is currently a file location but in the future can be an sql statement. Using the parameter, it calls on the scheme to get the DAO. Would it be correct to say that my constructor has dependency injection?

Thanks ranchers

Kevin
 
Roel De Nijs
Sheriff
Posts: 10591
140
AngularJS Chrome Eclipse IDE Hibernate Java jQuery MySQL Database Spring Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In my understanding your constructor doesn't use dependency injection.
 
Roberto Perillo
Bartender
Posts: 2271
3
Eclipse IDE Java Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Howdy, Kevin!

Would it be correct to say that my constructor has dependency injection?


Hum... no, like my good buddy Roel showed above.

Other than that, the second approach you showed is very inflexible. If the data source changes in the future, then you'll have to open your BusinessService class to modify your code so it works correctly. Today, we have to deal with a .db file, but tomorrow, it could be a database. So, the first approach is much better.

If you have a factory or your Data class is a singleton, then you can obtain it, for instance, in the constructor of your BusinessService class. But receiving a String in the business component is not a good idea.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic