我想了解声明MyOtherService和之间的区别MyOtherComplexService.特别是方括号部分的目的是什么?何时使用它们何时不使用?
var myapp = angular.module('myapp', []);
myapp.factory('MyService', function($rootScope, $timeout) {
return {
foo: function() {
return "MyService";
}
}
});
myapp.factory('MyOtherService', function($rootScope, $timeout, MyService) {
return {
foo: function() {
return "MyOtherService";
}
}
});
myapp.factory('MyOtherComplexService', ['$rootScope', '$timeout', 'MyService', function($rootScope, $timeout, MyService) {
return {
foo: function() {
return "MyOtherComplexService";
}
}
}]);
myapp.controller('MyController', function($scope, MyOtherService, MyOtherComplexService) {
$scope.x = MyOtherService.foo();
$scope.y = MyOtherComplexService.foo();
});
Run Code Online (Sandbox Code Playgroud) 我想显示一个表格,其中包含与编辑项目相对应的数据.我ui-router用于路由.我定义了一个州:
myapp.config(function($stateProvider) {
$stateProvider.
.state('layout.propertyedit', {
url: "/properties/:propertyId",
views : {
"contentView@": {
templateUrl : 'partials/content2.html',
controller: 'PropertyController'
}
}
});
Run Code Online (Sandbox Code Playgroud)
在PropertyController,我想设置$scope.property来自以下呼叫的数据(Google Cloud Endpoints):
gapi.client.realestate.get(propertyId).execute(function(resp) {
console.log(resp);
});
Run Code Online (Sandbox Code Playgroud)
我不知道是否可以使用,resolve因为数据是异步返回的.我试过了
resolve: {
propertyData: function() {
return gapi.client.realestate.get(propertyId).execute(function(resp) {
console.log(resp);
});
}
}
Run Code Online (Sandbox Code Playgroud)
第一个问题,propertyId未定义.你怎么得到propertyId的url: "/properties/:propertyId"?
基本上我想设置$scope.property在PropertyController向resp通过异步调用返回的对象.
编辑:
myapp.controller('PropertyController', function($scope, , $stateParams, $q) {
$scope.property = {};
$scope.create = function(property) {
}
$scope.update …Run Code Online (Sandbox Code Playgroud) 我有一个简单的模型Question和Choice对象.
使用Hibernate有两种方法可以实现
实施一:业主方是选择
Question.java
@OneToMany (mappedBy="question")
private Set choices = new HashSet();
Run Code Online (Sandbox Code Playgroud)
Choice.java
@ManyToOne
@JoinColumn (name="QUESTION_ID")
private Question question;
Run Code Online (Sandbox Code Playgroud)
实施二:业主方是问题
Question.java
@OneToMany
@JoinColumn (name = "QUESTION_ID")
private Set choices = new HashSet();
Run Code Online (Sandbox Code Playgroud)
Choice.java
@ManyToOne
@JoinColumn (name="QUESTION_ID", updatable = false, insertable = false)
private Question question;
Run Code Online (Sandbox Code Playgroud)
这两个实现有什么区别?
我有一个包含 Java 8 日期时间类型字段的实体。问题是这些字段被序列化为对象。我添加了jackson-datatype-jsr310依赖项,因此 Spring Boot 1.5.7 会自动配置JavaTimeModule处理 Java 8 日期时间类型。看来该模块没有注册(我在 JavaTimeModule 构造函数中放置了一个断点)。我知道我不需要定制ObjectMapper。我花了几个小时阅读该问题,解决方案始终是添加jackson-datatype-jsr310依赖项,但它在我的情况下不起作用。
实体:
@Entity
public class DateTimeEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private LocalDate localDate;
private LocalDateTime localDateTime;
private Instant instant;
private OffsetDateTime offsetDateTime;
private ZonedDateTime zonedDateTime;
}
Run Code Online (Sandbox Code Playgroud)
RestController 方法:
@GetMapping("/datetimes/{id}")
public ResponseEntity<DateTimeEntity> getById(@PathVariable Long id) {
DateTimeEntity dateTimeEntity = dateTimeRepository.findOne(id);
return new ResponseEntity<DateTimeEntity>(dateTimeEntity, HttpStatus.OK);
}
Run Code Online (Sandbox Code Playgroud)
返回的 JSON 对象:
{
"id": 1,
"localDate": null,
"localDateTime": null,
"instant": { …Run Code Online (Sandbox Code Playgroud) 我的控制器中有一个方法应该返回JSON中的String.它返回非原始类型的JSON:
@RequestMapping(value = "so", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)
ResponseEntity<String> so() {
return new ResponseEntity<String>("This is a String", HttpStatus.OK);
}
Run Code Online (Sandbox Code Playgroud)
卷曲响应是:
This is a String
Run Code Online (Sandbox Code Playgroud) 我配置我web.xml为我的cron作业启用appstats.我的cron作业由URL上的servlet处理,http://myapp.appspot.com/cron/myjob每小时执行一次.
当我访问URL上的appstats管理界面时http://myapp.appspot.com/appstats/stats.我可以看到有关/appstats网址的统计信息,但不能查看/cron网址.我希望appstats每次执行cron作业时都能记录事件.这是我的web.xml:
<web-app>
<!-- Servlets -->
<filter>
<filter-name>guiceFilter</filter-name>
<filter-class>com.google.inject.servlet.GuiceFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>guiceFilter</filter-name>
<url-pattern>*</url-pattern>
</filter-mapping>
<!-- AppStats -->
<filter>
<filter-name>appstats</filter-name>
<filter-class>com.google.appengine.tools.appstats.AppstatsFilter</filter-class>
<init-param>
<param-name>logMessage</param-name>
<param-value>Appstats available: /appstats/details?time={ID}</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>appstats</filter-name>
<url-pattern>/cron/*</url-pattern>
</filter-mapping>
<!-- AppStats Servlet -->
<servlet>
<servlet-name>appstats</servlet-name>
<servlet-class>com.google.appengine.tools.appstats.AppstatsServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>appstats</servlet-name>
<url-pattern>/appstats/*</url-pattern>
</servlet-mapping>
<!-- <security-constraint>
<web-resource-collection>
<url-pattern>/appstats/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint> -->
<!-- Default page to serve -->
</web-app>
Run Code Online (Sandbox Code Playgroud)
解决方案:我通过在Guice过滤器之前放置AppStats过滤器来修复它
我对存储库进行了干净的检查,然后每天我都有一个运行脚本来备份配置的hudson作业.部分脚本是添加*.xml
$ svn add *.xml
svn: warning: W150002: '/data/hudson/config.xml' is already under version control
svn: E200009: Could not add all targets because some targets are already versioned
svn: E200009: Illegal target for the requested operation
Run Code Online (Sandbox Code Playgroud)
警告很好,因为一些xml文件已经受版本控制,但我不明白为什么我会收到E200009错误.如果没有要添加的内容,则应该没有错误.
当我使用以下代码实例化Hibernate时:
Configuration configuration = new Configuration();
configuration.configure();
serviceRegistry = new ServiceRegistryBuilder().applySettings(
configuration.getProperties()).buildServiceRegistry();
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
Run Code Online (Sandbox Code Playgroud)
我有以下例外情况:
org.xml.sax.SAXParseException:文档无效:未找到语法.,org.xml.sax.SAXParseException:文档根元素"hibernate-configuration"必须与DOCTYPE根"null"匹配.由以下原因引起:org.hibernate.MappingException:在org.hibernate的org.hibernate.cfg.Configuration.configure(Configuration.java:1931)org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2014)中配置无效. cfg.Configuration.configure(Configuration.java:1910)at com.soccer.system.HibernateUtil.(HibernateUtil.java:23)... 1更多引起:org.xml.sax.SAXParseException:文档无效:无语法找到.
我在hibernate.cfg.xmlHibernate 4.1.6中使用以下文件:
<?xml version='1.0' encoding='utf-8'?>
<hibernate-configuration
xmlns="http://www.hibernate.org/xsd/hibernate-configuration"
xsi:schemaLocation="http://www.hibernate.org/xsd/hibernate-configuration hibernate-configuration-4.0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<session-factory>
<!-- Database connection settings -->
<property name="connection.driver_class">org.apache.derby.jdbc.ClientDriver</property>
<property name="connection.url">jdbc:derby://localhost:1527/K:\db</property>
<property name="connection.username"></property>
<property name="connection.password"></property>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.DerbyDialect</property>
<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>
<!-- Disable the second-level cache -->
<property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property> …Run Code Online (Sandbox Code Playgroud) 我有一个简单的表单,要求用户输入文本.然后,当用户单击该链接时,将显示一个对话框,其中包含用户输入的值.我遇到的第一个问题是对话框没有显示.
另一个问题涉及更新.首次显示表单时,HTML代码是正确的,当前值为#{dialogBean.location}空.
然后我点击链接,HTML代码是"错误的".这就是为什么我猜它没有显示:
<form id="dialogForm" name="dialogForm" method="post" action="/tcmt-component/dialog.xhtml" enctype="application/x-www-form-urlencoded">
<input type="hidden" name="dialogForm" value="dialogForm">
<input type="hidden" autocomplete="off" value="-6424900608015567042:-9068630845666043913" id="javax.faces.ViewState" name="javax.faces.ViewState"></form>
Run Code Online (Sandbox Code Playgroud)
同时,我检查Ajax调用的返回.值#{dialogBean.location}仍为空.
<?xml version='1.0' encoding='UTF-8'?>
<partial-response><changes><update id="dialogForm:dialog"><![CDATA[<div id="dialogForm:dialog" style="display:none" title="Dialog">
Current Location:
Run Code Online (Sandbox Code Playgroud)
我再次点击链接,这次将值#{dialogBean.location}设置为正确的值.
<?xml version='1.0' encoding='UTF-8'?>
<partial-response><changes><update id="dialogForm:dialog"><![CDATA[<div id="dialogForm:dialog" style="display:none" title="Dialog">
Current Location: MyLocation
Run Code Online (Sandbox Code Playgroud)
豆子:
@ManagedBean
@SessionScoped
public class DialogBean implements Serializable {
private String location;
public void setLocation(String location) {
this.location = location;
}
public String getLocation() {
return location;
}
}
Run Code Online (Sandbox Code Playgroud)
风景:
<?xml version="1.0" …Run Code Online (Sandbox Code Playgroud) 我有一个有 4 个阶段的管道:
打包阶段是手动的。如果 x 分钟后未采取手动操作,我希望管道超时。我知道有一个timeout选择,但只有在工作开始后才会考虑。
package_staging:
image: maven:3.6.3-jdk-11
stage: package
script:
- mvn $MAVEN_CLI_OPTS -DskipTests clean install -Pstaging
only:
- branches
except:
- master
- /^release/.*$
when: manual
Run Code Online (Sandbox Code Playgroud) angularjs ×2
hibernate ×2
angular-ui ×1
appstats ×1
gitlab ×1
java ×1
javascript ×1
jsf ×1
jsf-2 ×1
primefaces ×1
spring ×1
spring-boot ×1
spring-mvc ×1
svn ×1