08-02-2023, 06:58 AM
I understand that a managed bean works like a controller, because your only task is "link" the View Layer with Model.
To use a bean as a managed bean I must declare `@ManagedBean `annotation, doing that I can communicate JSF with bean directly.
If I want to inject some component (from Spring) in this managedBean I have two possibles ways:
1. Choose the property in ManagedBean (like "BasicDAO dao") and declare `@ManagedProperty(#{"basicDAO"})` above the property. Doing it, i'm injecting the bean `"basicDAO"` from Spring in ManagedBean.
2. Declared @Controller in ManagedBean Class, then i'll have `@ManagedBean` and `@Controller` annotations, all together. And in property `"BasicDAO dao"` i must use `@Autowired` from Spring.
Is my understanding correct?
To use a bean as a managed bean I must declare `@ManagedBean `annotation, doing that I can communicate JSF with bean directly.
If I want to inject some component (from Spring) in this managedBean I have two possibles ways:
1. Choose the property in ManagedBean (like "BasicDAO dao") and declare `@ManagedProperty(#{"basicDAO"})` above the property. Doing it, i'm injecting the bean `"basicDAO"` from Spring in ManagedBean.
2. Declared @Controller in ManagedBean Class, then i'll have `@ManagedBean` and `@Controller` annotations, all together. And in property `"BasicDAO dao"` i must use `@Autowired` from Spring.
Is my understanding correct?