怎么让spring支持nutz的mvc
2016-05-03 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
怎么让spring支持nutz的mvc
www.MyException.Cn 网友分享于:2013-12-25 浏览:111次
如何让spring支持nutz的mvc
没见过nutz的可以先移步http://nutz.googlecode.com去看看。首先nutz本身是带了个ioc容器的,不过大伙都习惯spring的,那么怎么把spring引入进来呢?
首先,假设已经在web.xml里边配置好spring和nutz mvc
下面就是要定义一个IocProvider,例如我们把名字叫为SpringIocProvider,他是负责产生一个实现nutz的Ioc接口的容器:
public class SpringIocProvider implements IocProvider {
@Override
public Ioc create(NutConfig config, String[] args){
return new SpringIoc(config, args);
}
}
nutz除了提供Ioc接口,还提供了一个更加高级的Ioc2接口,我们这里的SpringIoc简单实现了Ioc2接口:
public class SpringIoc implements Ioc2 {
private WebApplicationContext appContext;
public SpringIoc(NutConfig config, String[] args)
{
ServletContext context = config.getServletContext();
appContext = WebApplicationContextUtils.getWebApplicationContext(context);
}
@Override
public void depose() {
}
@Override
public T get(Class type) throws IocException {
return get(type, Strings.lowerFirst(type.getSimpleName()));
}
@Override
public T get(Class type, String name) throws IocException {
return get(type, name, null);
}
@Override
public String[] getNames() {
return appContext.getBeanDefinitionNames();
}
@Override
public boolean has(String name) throws IocException {
return appContext.containsBean(name);
}
@Override
public void reset() {
}
@Override
public void addValueProxyMaker(ValueProxyMaker arg0) {
}
@Override
public T get(Class type, String name, IocContext context) {
return (T) appContext.getBean(name, type);
}
@Override
public IocContext getIocContext() {
return null;
}
}
spring的WebApplicationContext提供的api比较有限,所以这里的实现都挑保守的实现方式,不要见怪。最后就是在mainModule里边注明使用哪个IocProvider
@Modules(scanPackage = true)
@IocBy(args = { "" }, type = SpringIocProvider.class)
public class MainModule {
}
下面就可以使用原来nutz的ioc注解方式了,例如对某个action的参数通过@IocObj(”xx”)这样的方式就可以注入对象了。
www.MyException.Cn 网友分享于:2013-12-25 浏览:111次
如何让spring支持nutz的mvc
没见过nutz的可以先移步http://nutz.googlecode.com去看看。首先nutz本身是带了个ioc容器的,不过大伙都习惯spring的,那么怎么把spring引入进来呢?
首先,假设已经在web.xml里边配置好spring和nutz mvc
下面就是要定义一个IocProvider,例如我们把名字叫为SpringIocProvider,他是负责产生一个实现nutz的Ioc接口的容器:
public class SpringIocProvider implements IocProvider {
@Override
public Ioc create(NutConfig config, String[] args){
return new SpringIoc(config, args);
}
}
nutz除了提供Ioc接口,还提供了一个更加高级的Ioc2接口,我们这里的SpringIoc简单实现了Ioc2接口:
public class SpringIoc implements Ioc2 {
private WebApplicationContext appContext;
public SpringIoc(NutConfig config, String[] args)
{
ServletContext context = config.getServletContext();
appContext = WebApplicationContextUtils.getWebApplicationContext(context);
}
@Override
public void depose() {
}
@Override
public T get(Class type) throws IocException {
return get(type, Strings.lowerFirst(type.getSimpleName()));
}
@Override
public T get(Class type, String name) throws IocException {
return get(type, name, null);
}
@Override
public String[] getNames() {
return appContext.getBeanDefinitionNames();
}
@Override
public boolean has(String name) throws IocException {
return appContext.containsBean(name);
}
@Override
public void reset() {
}
@Override
public void addValueProxyMaker(ValueProxyMaker arg0) {
}
@Override
public T get(Class type, String name, IocContext context) {
return (T) appContext.getBean(name, type);
}
@Override
public IocContext getIocContext() {
return null;
}
}
spring的WebApplicationContext提供的api比较有限,所以这里的实现都挑保守的实现方式,不要见怪。最后就是在mainModule里边注明使用哪个IocProvider
@Modules(scanPackage = true)
@IocBy(args = { "" }, type = SpringIocProvider.class)
public class MainModule {
}
下面就可以使用原来nutz的ioc注解方式了,例如对某个action的参数通过@IocObj(”xx”)这样的方式就可以注入对象了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询