我通过使用Spring和Hibernate为服务创建实体,服务和JUnit测试来启动我的项目.所有这一切都很棒.然后我添加了spring-mvc来使用许多不同的分步教程来创建这个Web应用程序,但是当我尝试使用@Autowired注释创建Controller时,我在部署期间遇到来自Glassfish的错误.我想由于某些原因Spring没有看到我的服务,但经过多次尝试后我仍然无法处理它.
服务测试
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:/beans.xml"})
Run Code Online (Sandbox Code Playgroud)
和
@Autowired
MailManager mailManager;
Run Code Online (Sandbox Code Playgroud)
工作正常.
没有@Autowired的控制器,我可以毫无困难地在Web浏览器中打开我的项目.
/src/main/resources/beans.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd
http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_2_0.xsd">
<context:property-placeholder location="jdbc.properties" />
<context:component-scan base-package="pl.com.radzikowski.webmail">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
</context:component-scan>
<!--<context:component-scan base-package="pl.com.radzikowski.webmail.service" />-->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<!-- Persistance Unit Manager for persistance options managing …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用maven创建javadoc并且它失败了.执行验证时也会失败.
mvn verify
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
(...)
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /home/miquel/creaveu/createOmegaMatrix/src/main/java/edu/url/salle/gtm/hnm/dataStructures/HFrame.java:[6,23]
package org.junit does not exist
[ERROR] /home/miquel/creaveu/createOmegaMatrix/src/main/java/edu/url/salle/gtm/hnm/dataStructures/HFrame.java:[6,0]
static import only from classes and interfaces
(···)
Run Code Online (Sandbox Code Playgroud)
在我的pom.xml文件中,我有以下几行:
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我的本地存储库包含junit jar文件:
miquel@ubuntu:~/creaveu/createOmegaMatrix$ ls -l /home/miquel/.m2/repository/org/junit/junit/4.8.2/
total 248
**-rw-r--r-- 1 miquel miquel 237344 2012-09-13 11:01 junit-4.8.2.jar**
-rw-r--r-- 1 miquel miquel 236 2012-09-13 11:13 junit-4.8.2-javadoc.jar.lastUpdated
-rw-r--r-- 1 miquel miquel 0 2012-09-13 11:13 junit-4.8.2-javadoc.jar-not-available
-rw-r--r-- 1 miquel miquel 458 2012-09-12 18:35 junit-4.8.2.pom
-rw-r--r-- 1 miquel …Run Code Online (Sandbox Code Playgroud) 我Date用Java 创建了一个对象.当我这样做时,它显示如下:date=Tue Aug 09 00:00:00 IST 2011.结果,似乎我的Excel文件减少了一天(27 feb变为26 feb,依此类推)我认为一定是因为时间.我怎样才能把它设置为下午5:30?
我正在尝试使用Spring编写SOAP服务,但是我收到了依赖注入问题.我@Autowired通过服务使用这样的问题:
public interface UserDao {
User getUser(String username);
}
Run Code Online (Sandbox Code Playgroud)
Dao的实施如下:
@Controller("userDao")
public class UserDaoImpl implements UserDao {
private static Log log = LogFactory.getLog(UserDaoImpl.class);
@Autowired
@Qualifier("sessionFactory")
private LocalSessionFactoryBean sessionFactory;
@Override
public User getUser(String username) {
Session session = sessionFactory.getObject().openSession();
// Criteria query = session.createCriteria(Student.class);
Query query = session
.createQuery("from User where username = :username");
query.setParameter("username", username);
try {
System.out.println("\n Load Student by ID query is running...");
/*
* query.add(Restrictions.like("id", "%" + id + "%",
* MatchMode.ANYWHERE)); return (Student) query.list(); …Run Code Online (Sandbox Code Playgroud) 是否可以创建一个@Entity不包含主键/ Id 的表(来自JPA注释的Hibernate )?
我知道这不是一个好主意; 表应该有一个主键.
我们的git repo在Linux服务器上; 我可以在主分支上或创建一个我可以进入并使用的新分支.
我们的git repo磁盘安装在AIX框上进行构建(我可以在AIX框中看到允许我构建的git目录)
在AIX框中,我如何看到我正在使用master或在特定分支内部.里面有什么变化.git驱动我所在的分支?
我目前在MacBook Pro上运行OS X Yosemite(10.10.2)...默认情况下,Apple在Yosemite上运行Python 2.7.6.
刚刚下载并运行了Python 3的这个安装程序: python-3.4.3-macosx10.6.pkg
当我打开终端并输入时python,会出现这种情况:
Python 2.7.6 (default, Sep 9 2014, 15:04:36)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
Run Code Online (Sandbox Code Playgroud)
问题(S):
我想启动一个Node应用程序并使用教程创建一个package.json文件.这是json文件:
{
"name": "Dashboard",
"version": "0.0.0",
"description": "Client-A Dashboard",
"dependencies": {
"socket.io": "latest",
"express": "latest",
"jade": "latest"
},
"author": "tD"
}
Run Code Online (Sandbox Code Playgroud)
我在尝试运行之前验证了JSON文件,但在运行npm install命令时仍然收到错误消息:
npm ERR! install Couldn't read dependencies
npm ERR! Error: ENOENT, open 'C:\projects\Client-A\Live\package.json'
npm ERR! If you need help, you may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <npm-@googlegroups.com>
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! …Run Code Online (Sandbox Code Playgroud) 在我们的项目中,我们正在编写测试以检查控制器是否返回正确的模型视图
@Test
public void controllerReturnsModelToOverzichtpage()
{
ModelAndView modelView = new ModelAndView();
KlasoverzichtController controller = new KlasoverzichtController();
modelView = controller.showOverzicht();
assertEquals("Klasoverzichtcontroller returns the wrong view ", modelView.getViewName(), "overzicht");
}
Run Code Online (Sandbox Code Playgroud)
这将返回异常null.
我们现在正在配置@contextconfiguration但是我们不知道如何加载位于src\main\webapp\root\WEB-INF\root-context.xml的正确的xml
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration
public class TestOverzichtSenario{
....
Run Code Online (Sandbox Code Playgroud)
关于如何确保contextannotation加载正确的xml的任何建议?
编辑v2
我将配置.xml文件从webINF文件夹复制到
src\main\resources\be\..a bunch of folders..\configuration\*.xml
Run Code Online (Sandbox Code Playgroud)
并将webinf中的web.xml更改为
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:configuration/root-context.xml
classpath*:configuration/applicationContext-security.xml
</param-value>
Run Code Online (Sandbox Code Playgroud)
现在得到错误
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/mvc-dispatcher-servlet.xml]; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/WEB-INF/mvc-dispatcher-servlet.xml]
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:341)
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:124)
org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:93)
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:467)
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:397) …Run Code Online (Sandbox Code Playgroud) 从Java执行Python脚本并接收该脚本的输出的最简单方法是什么?我已经找到了像Jepp或Jython这样的不同的库,但大多数都看起来过时了.库的另一个问题是,如果我使用库,我需要能够轻松地包含带有源代码的库(尽管我不需要为库本身提供源代码).
因此,最简单/最有效的方法是简单地做一些事情,比如用runtime.exec调用脚本,然后以某种方式捕获打印输出?或者,即使这对我来说非常痛苦,我也可以将Python脚本输出到临时文本文件,然后用Java读取文件.
注意:Java和Python之间的实际通信并不是我试图解决的问题的要求.然而,这是我能想到的唯一方法,可以轻松地执行需要完成的任务.
java ×7
spring ×3
annotations ×2
python ×2
autowired ×1
calendar ×1
database ×1
date ×1
datetime ×1
git ×1
git-branch ×1
hibernate ×1
javascript ×1
jpa ×1
json ×1
junit4 ×1
maven ×1
maven-3 ×1
node.js ×1
npm ×1
osx-yosemite ×1
python-2.7 ×1
python-3.x ×1
soap ×1
spring-mvc ×1
unit-testing ×1
web-services ×1