pippo icon indicating copy to clipboard operation
pippo copied to clipboard

Remove pippo-spring module from next major version of Pippo

Open decebals opened this issue 5 years ago • 3 comments

The idea is that I used with success another, more natural approach. First of all I injected the needed services directly in Controller class:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import ro.pippo.controller.Controller;
import ro.pippo.controller.Path;

@Path("/clients")
@Component
public class ClientController extends Controller {

    @Autowired
    private SubscriptionService subscriptionService;

    @Autowired
    private ClientService clientService;

    // GET, POST methods

}

Add all controllers in Application after they were collected by Spring:

import org.springframework.stereotype.Component;
import ro.pippo.controller.ControllerApplication;

@Component
public class MyApplication extends ControllerApplication {

    @Autowired
    private List<? extends Controller> controllers;

    @Override
    protected void onInit() {
        addControllers(controllers.toArray(new Controller[controllers.size()]));
    }

}

The content of this issue is related somehow with https://github.com/pippo-java/pippo/issues/538.

decebals avatar Sep 21 '20 19:09 decebals

Also related to Spring support in Pippo, see below how you can use the Pippo hot reload mechanism when Spring is used for DI:

public class Launcher {

    public static void main(String[] args) {
        Pippo pippo = new Pippo() {

            @Override
            protected Application createReloadableApplication() {
                return new AnnotationConfigApplicationContext(SpringConfiguration.class).getBean(Application.class);
            }

        };
        pippo.start();
    }

}

decebals avatar Sep 26 '20 22:09 decebals

It would be nice to note in some way what we have to create / update in the documentation. Pippo has a lot of cool stuff!

mhagnumdw avatar Sep 27 '20 13:09 mhagnumdw

I will update the documentation. Yes, Pippo has a lot of cool stuff that are not documented and it is easy to add some new ones.

decebals avatar Sep 27 '20 13:09 decebals