我试图在单例bean中注入一个原型bean,这样每个对单例bean方法的新调用都有一个原型bean的新实例.
考虑一个单例bean,如下所示:
@Component
public class SingletonBean {
@Autowired
private PrototypeBean prototypeBean;
public void doSomething() {
prototypeBean.setX(1);
prototypeBean.display();
}
}
Run Code Online (Sandbox Code Playgroud)
我希望每次调用doSomething()方法时,都会使用一个新的PrototypeBean实例.
下面是原型bean:
@Component
@Scope(value="prototype", proxyMode = ScopedProxyMode.TARGET_CLASS)
public class PrototypeBean {
Integer x;
void setX(Integer x) {
this.x = x;
}
void display() {
System.out.println(x);
}
}
Run Code Online (Sandbox Code Playgroud)
似乎正在发生的事情是,春天在doSomething()方法中交出一个新的PrototypeBean实例时非常渴望.也就是说,doSomething()方法中的2行代码在每行中创建了一个新的prototypeBean实例.所以在第二行 - prototypeBean.display()打印出NULL.
这是预期的行为还是我错过了正确注入原型bean的一些配置?
我看到的过滤器很少
<tr ng-repeat="x in list | filter:search| offset:currentPage*pageSize| limitTo:pageSize ">
Run Code Online (Sandbox Code Playgroud)
在我的项目中取得好成绩,我必须在控制器中进行这种过滤而不是在视野中
我知道基本语法 $filter('filter')('x','x')但我不知道如何在控制器中创建过滤器链,所以一切都将像我的模板中的示例一样工作.
我找到了一些解决方案,现在只使用一个过滤器,但应该可以使用很多;)
$scope.data = data; //my geojson from factory//
$scope.geojson = {}; //i have to make empty object to extend it scope later with data, it is solution i found for leaflet //
$scope.geojson.data = [];
$scope.FilteredGeojson = function() {
var result = $scope.data;
if ($scope.data) {
result = $filter('limitTo')(result,10);
$scope.geojson.data = result;
console.log('success');
}
return result;
};
Run Code Online (Sandbox Code Playgroud)
我在ng-repeat工作中使用此功能很好,但我必须用几个过滤器检查它.
我在我的Web应用程序中使用Spring MVC和Hibernate.我正在寻找一种方法来创建一个全局的hibernate过滤器,它将应用于我的DAO类中的每个查询,而不必在每个DAO方法中显式启用它.
要求是按用户选择的会话变量过滤记录.因此,我们的查询参数将保存在会话中,该会话中的所有DAO查询都需要通过此变量过滤结果.这里的目的是避免每个DAO方法中的所有可重复过滤代码.
欢迎任何和所有的想法!
需要知道如何构造一个Hibernate Query,它获取与IN包含多个列值的子句匹配的结果.
例如,
Query query=session.createQuery( "from entity e where (e.abc, e.xyz) in (:list)" );
query.setParameterList( "list", list );
Run Code Online (Sandbox Code Playgroud)
这里list将是一个2D数组,可以包含基本类型的基本包装器对象,例如Integer,String等等.
这可能吗?
我在html中的输入字段上有一个ng-change,它绑定到一个范围变量.
<input type="text" ng-model="test" ng-change="change()" required>
var change = function(){ redraw_graph()}
Run Code Online (Sandbox Code Playgroud)
现在当我更改输入框时,它会为我写的每个新字符重绘图形.我希望有一个延迟(N秒),因此在ng-change事件触发之前,在用户完成输入之前,angular将等待.如果触发了多个ng-change事件,它将取消之前的事件并仅执行最新事件.
我已将延迟纳入超时,但在N秒之后,ng-change事件仍然会触发多次.我之前已经解决了这个问题,但我现在无法弄清楚如何做到这一点.
UserService维护sessionStatus用户(布尔值)的服务.ng-show=sessionStatus(即如果未登录(false),则不显示).sessionStatusViewController因此,应该总是匹配UserService......对吗?sessionStatus值更改,并且视图应该更新为新的结果ng-show.... <a ng-show="sessionStatus" ng-click="logout()">Logout</a>
Run Code Online (Sandbox Code Playgroud)
app.controller('AppController', function($scope, $interval, $http, UserService) {
$scope.logout = function() { UserService.logout(); }
// This ain't working
$scope.$watch(UserService.sessionStatus, function() {
$scope.sessionStatus = UserService.sessionStatus;
});
});
Run Code Online (Sandbox Code Playgroud)
注意:appUser是HTML头中注入的全局变量(一个hacky修复,直到我得到会话/ cookie的东西正常工作)
app.factory('UserService', function($http) {
var pre;
var sessionStatus;
function init() { // Logged in : Logged out
pre = appUser.user != undefined …Run Code Online (Sandbox Code Playgroud) javascript angularjs angularjs-service angularjs-scope angularjs-controller
我正在尝试为我的控制器设置一个装饰器.我的目的是介绍我的应用程序中所有控制器的一些常见行为.
我已经将它配置为在Angular 1.2.x中工作,但是从1.3.x开始有一些重大变化,这些更改破坏了代码.现在得到的错误是"控制器不是一个功能".
下面是装饰器的代码:
angular.module('myApp', ['ng'], function($provide) {
$provide.decorator('$controller', function($delegate) {
return function(constructor, locals) {
//Custom behaviour code
return $delegate(constructor, locals);
}
})
});
Run Code Online (Sandbox Code Playgroud)
Angular 1.2.x - http://jsfiddle.net/3v17w364/2/ (工作)
Angular 1.4.x - http://jsfiddle.net/tncquyxo/2/ (破碎)
是否有一个指令或方法在AngularJS中实现.one()函数用jquery实现的是什么?
即,将事件附加到仅执行一次的元素.
angularjs ×5
hibernate ×2
java ×2
javascript ×2
spring ×2
oracle10g ×1
spring-mvc ×1
timeout ×1