Hello everyone,

I have a couple of questions I believe to be so primitive but I hope you
don't mind answering them :)

1.Services
I understand that sfl4j Logger class and ObjectLocator class are
automatically available for services and they are considered resources.
*http://tapestry.apache.org/tapestry5.2-dev/tapestry-ioc/module.html*<http://tapestry.apache.org/tapestry5.2-dev/tapestry-ioc/module.html>
*, "Caching Services" section.*

What I don't understand is, why when I inject Logger into a component.
(@Inject) or even not using the annotation at all, it's resolves fine. But
when I use it in a service, I have to use @InjectResource ? What are my
options here in bother cases ?
I know that If an interface has a single implemented, I could only declare
an instance of that interface:

private Logger logger;

Even without an annotation nor autobinding.

2.Modules
I simply created a class, suffixed it "Module" so it ended up being named
"DataAccessModule".
I added a
public static void bind(ServiceBinder binder) {
binder.bind(UserDAO.class, UserDAOImpl.class);
}
method just like my AppModule which works perfectly find. When I used the
"DataAccessModule" to bind classes. As I @Inject them. They couldn't be
resolved and I get a "Class not found exception". This module is under the
services package right beside "AppModule.java"
So why aren't my services resolved ?

3.Packages
I understand that the pages packages is for pages, components is for
components, base is basically for interfaces\abstract classes. But what if I
wanted to add some business logic classes. For processing stuff,
opening\closing connections. Classes that are used by services mainly. Where
should I put them ?
Like I did with slf4j Logger interface. It has only one implementer so no
problem should occur and none did. When I just used the interface:

private interface Logger logger;

It was automatically resolved.
So If I want to have my services automatically resolved based on the naming
convention (InterfaceName.class for InterfaceNameImpl.class). Where should I
put the interface and the impl class ?

Please correct me if I mentioned any false information.

Thanks in advance for your time :)

-- 
*Regards,*
*Muhammad Gelbana
Java Software Programmer*

Reply via email to