其他分享
首页 > 其他分享> > 春天的亲子豆怎么了?

春天的亲子豆怎么了?

作者:互联网

我是Spring 3的新手,尤其喜欢它的附加注释

我不知道如何拥有一个控制器类B,该类扩展了控制器类A,其中A是通过xml文件定义的,以具有一些有用的功能-例如,数据库连接或其他.

如果我有一个(抽象的)父bean A,还有一个具体的bean B,而B是控制器,并且我正在使用注释自动装配(您知道,
    < context:component-scan base-package =“ package” />
),我可以以某种方式将B绑定到A吗?我是否使用注释?考虑到A需要在其中放入一些随机的四季豆,我在哪里定义A?

解决方法:

正如@Shakedown提到的那样,在控制器中建立数据库连接是一种不好的做法.我知道这只是一个例子,但我想确保指出了这一点.

使用Spring批注,对于大多数项目,您几乎可以完全摆脱XML.

通常有一个AbstractController类,从中可以派生其他具体的类.

@Controller
@RequestMapping(value = "/action")
public class AController extends AbstractController
{
    @Autowired
    private AService aService;
    ...
}

可以使用@Autowired批注将依赖项注入到Spring类中.如果要将依赖项注入到AbstractController中,从技术上讲,这不是Spring托管类-您可以通过添加@Component批注使其成为一个.

@Component
public abstract class AbstractController
{
    @Autowired
    protected CommonService commonService;

    @ExceptionHandler(MyException.class)
    public ModelAndView handleMyException(MyException e)
    {  
        ModelAndView model = new ModelAndView();

        model.addObject("errorMessage", e.getMessage());

        model.setViewName("error");

        return model;
    }

    ...
}

然后,您可以在子类中使用依赖项.

标签:annotations,parent-child,spring
来源: https://codeday.me/bug/20191202/2085271.html