我正在学习Angular寻找修复错误的帮助:我正在关注此链接:https://github.com/angular/angularfire2/blob/master/docs/install-and-setup.md 以创建一个角度带有angular2和angularfirestore2的小应用程序
但当我点击服务时,我在浏览器控制台中收到以下错误..
StaticInjectorError[AngularFirestore]:
StaticInjectorError[AngularFirestore]:
NullInjectorError: No provider for AngularFirestore!
at _NullInjector.get (core.js:923)
at resolveToken (core.js:1211)
at tryResolveToken (core.js:1153)
at StaticInjector.get (core.js:1024)
at resolveToken (core.js:1211)
at tryResolveToken (core.js:1153)
at StaticInjector.get (core.js:1024)
at resolveNgModuleDep (core.js:10585)
at NgModuleRef_.get (core.js:11806)
at resolveDep (core.js:12302)
Run Code Online (Sandbox Code Playgroud)
我试过谷歌搜索但没有找到确切的解决方案对我没用:(,
这是我遵循的:1)已安装的节点版本8.9.1 2)npm install -g @ angular/cli - > Version 1.5.2 3)ng new'project-name'4)npm install angularfire2 firebase --save
这是我的app.module.ts文件:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import …
Run Code Online (Sandbox Code Playgroud) 我在自定义过滤器类中使用@Autowire。我遇到空指针异常。
@Autowire 在过滤器中起作用吗?
这是代码:
public class MyFilter extends CustomFilter {
@Autowire
public MyClass myClass;
@Override
public String getInfo(){
return myClass.getMessage();
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我在配置类中注册 bean 的方式
@Configuration
public class ConfigLoader{
@Bean
public FilterRegistrationBean myFilterBean() {
final FilterRegistrationBean filterBean = new FilterRegistrationBean();
filterBean.setFilter(new MyFilter());
filterBean.addUrlPatterns("/*");
return filterBean;
}
}
Run Code Online (Sandbox Code Playgroud)
自定义过滤器:
public abstract class CustomFilter implements Filter {
public FilterConfig getFilterConfig() {
return this.filterConfig;
}
public void setFilterConfig(FilterConfig filterConfig) {
this.filterConfig = filterConfig;
}
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig = …
Run Code Online (Sandbox Code Playgroud) 我正在使用条件和谓词从数据库中获取结果,并且得到了结果列表,并且我试图应用分页和排序,但是它不起作用。请在缺少的地方帮我,这是我的代码:
private Page<Books> getFiltereBooks(Params params,
PageRequest sortOrder) {
CriteriaBuilder builder = em.getCriteriaBuilder();
CriteriaQuery<Books> criteria = builder.createQuery(Books.class);
Root<Books> booksRoot = criteria.from(Books.class);
List<Predicate> predicates = new ArrayList<Predicate>();
predicates.add(builder.equal(booksRoot.get("id"), params.getRequestId()));
predicates.add(builder.like(builder.lower(booksRoot.get("name")),
"%" + params.getName().toLowerCase() + "%"));
criteria.where(builder.and(predicates.toArray( new Predicate[predicates.size()])));
criteria.orderBy(builder.desc(booksRoot.get("id")));
List<Books> result = em.createQuery(criteria).getResultList();
int total = result.size();
Page<Books> result1 = new PageImpl<>(result, sortOrder, total);
return result1;
}
Run Code Online (Sandbox Code Playgroud)
当我使用此代码时:
Page<Books> result1 = new PageImpl<>(result, sortOrder, total);
Run Code Online (Sandbox Code Playgroud)
它不起作用,我想返回一个页面对象。任何帮助表示赞赏。