我的朋友给了我一个数据库文件:record.mdf.我将该.mdf文件复制到我的app_data文件夹,我可以访问它.
但是,连接字符串包含绝对路径:
AttachDbFilename="C:\Users\Dell\Documents\Visual Studio 2010\Projects\WebApplication2\WebApplication2\App_Data\record.mdf"
Run Code Online (Sandbox Code Playgroud)
但是我想用它连接:
Data Source=localhost\SQLEXPRESS;
Run Code Online (Sandbox Code Playgroud)
如何将.mdf文件复制到SQL Server的本地文件夹,以便连接字符串不使用数据库的绝对路径?
我使用的是Visual Studio 2010. 我没有SQL Server Management Studio.
我在实体中有一个懒惰的fetch类型集合.我正在使用Spring Data(JpaRepository)来访问实体.
@Entity
public class Parent{
@Id
private Long id;
@OneToMany(mappedBy = "parentId", fetch = FetchType.LAZY)
private Set<Child> children;
}
Run Code Online (Sandbox Code Playgroud)
我想在服务类和当前实现中有两个函数如下:
获取父级时,"children"应为null
public Parent getParent(Long parentId){
return repo.findOne(parentId);
}
Run Code Online (Sandbox Code Playgroud)取得父母时应填写"子女":
public Parent getParentWithChildren(Long parentId){
Parent p = repo.findOne(parentId);
Hibernate.initialize(p.children);
return p;
}
Run Code Online (Sandbox Code Playgroud)从RestController返回"Parent"实体时,抛出以下异常:
@RequestMapping("/parent/{parentId}")
public Parent getParent(@PathVariable("parentId") Long id)
{
Parent p= parentService.getParent(id);//ok till here
return p;//error thrown when converting to JSON
}
Run Code Online (Sandbox Code Playgroud)
org.springframework.http.converter.HttpMessageNotWritableException:无法写内容:懒得初始化角色集合:com.entity.Parent.children,无法初始化代理 - 无会话(通过引用链:com.entity.Parent [ "孩子们"]); 嵌套异常是com.fasterxml.jackson.databind.JsonMappingException:懒得初始化一个角色集合:com.entity.Parent.children,无法初始化代理 - 没有Session(通过引用链:com.entity.Parent ["children "])
我已经阅读了很多关于MVC设计模式的内容,但有些事情对我来说仍然不清楚.我知道"模型"用于数据和业务逻辑,"视图"用于表示,"控制器"用于使用"模型"并提供"视图"(即C是M和V之间的通信通道).
现在,我想解决以下问题:
问题: Web应用程序将来自用户的节点列表作为输入.然后,使用模型从这些节点(使用数据库)中制作图表(即数据结构图而不是xy图).
然后我使用Dijkstra算法找出该图中从起始节点到结束节点的最短路径.我是在模型还是控制器中使用Dijkstra算法?
我想我应该使用Model层,因为"最短路径"本身就是数据.
但有时,我认为我应该将它放在Controller中,因为它使用模型(图形和节点列表)来做某事.
谁能给我正确答案?现在我将在模型层中实现Dijkstra的算法.
如何在方法之上将请求映射到没有显式注释的方法?例如,以下请求:
http://somedomain:8080/SampleSpring/access/loginFailed
Run Code Online (Sandbox Code Playgroud)
应该映射到
"AccessController"的"loginFailed"方法,不需要对方法的显式注释,如:
@RequestMapping("/access/loginFailed")
Run Code Online (Sandbox Code Playgroud)
这是我的弹簧配置:
<context:component-scan base-package="com.robikcodes.samplespring"/>
<mvc:annotation-driven/>
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping">
<property name="basePackage" value="com.robikcodes.samplespring.controller"/>
<property name="caseSensitive" value="true"/>
<property name="defaultHandler">
<bean class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>
</property>
</bean>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
这是我的控制器:
@Controller
public class AccessController{
@RequestMapping(method = RequestMethod.GET)
public void login(ModelMap m) {}
@RequestMapping(method = RequestMethod.GET)
public String loginFailed(ModelMap m) {
m.addAttribute("error", "true");
return "access/login";
}
@RequestMapping(method = RequestMethod.GET)
public String logout(ModelMap m) {
m.addAttribute("logoutStatus","true");
return "access/login";
}
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误(似乎只有登录方法被正确映射):
org.apache.catalina.LifecycleException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0': …Run Code Online (Sandbox Code Playgroud) 我正在使用spring 4.1.1.RELEASE并在pom中包含:jackson-core-asl 1.9.13和jackson-mapper-asl 1.9.13来创建一个带RestController的简单应用程序.
这是回购:https://github.com/robikshrestha/samplespringrest.git
这是失败的战争:https://github.com/robikshrestha/samplespringrest/tree/master/failingWar
pom.xml中:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany</groupId>
<artifactId>SampleContactApp</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>SampleContactApp</name>
<properties>
<endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.version>4.1.1.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.13</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<compilerArguments>
<endorseddirs>${endorsed.dir}</endorseddirs>
</compilerArguments>
</configuration>
</plugin>
<plugin> …Run Code Online (Sandbox Code Playgroud) 我尝试过使用suppressMessages(expr)、suppressWarnings(expr)的表达式,但它们一直在输出消息。
例如:
suppressWarnings(ksvm(y~., data=data, type='C-svc', cross=5, kernel=kernel))
Run Code Online (Sandbox Code Playgroud)
不断生成此消息。
设置默认内核参数
如何抑制来自库的消息?有没有办法在全球范围内做到这一点?
试过:
{r messages=FALSE, warnings=FALSE}
Run Code Online (Sandbox Code Playgroud) 我正在使用@Scheduled注释来运行一个cron作业.调度工作一段时间,然后停止工作.我将简化我的代码片段:
这是调度程序:
//org.springframework.scheduling.annotation.Scheduled
@Scheduled("*/30 * * * * *")
public void performTask() {
logger.info("Starting agent");
getAgentAsyncTask().execute();
logger.info("Ending agent");
}
Run Code Online (Sandbox Code Playgroud)
这是由调度程序执行的任务
//org.springframework.scheduling.annotation.Async
@Async(TASK_EXECUTOR)
@Override
public void execute() {
logger.info("Starting task");
//send some rest requests
logger.info("Ending task");
}
Run Code Online (Sandbox Code Playgroud)
两者:"起始代理"和"结束代理"被记录的次数相等.因此,每个调度都正确结束.
两者:"启动任务"和"结束任务"被记录的次数相等.所以,当然,"任务"并不是阻挡事物.
但它只是在一段时间后停止记录.可能是什么问题?
这里,TASK_EXECUTOR是以下bean:
@Bean(TASK_EXECUTOR)
public ThreadPoolTaskExecutor createDefaultTaskExecutor() {
ThreadPoolTaskExecutor te = new ThreadPoolTaskExecutor();
te.setMaxPoolSize(15);
te.setCorePoolSize(15);
te.initialize();
return te;
}
Run Code Online (Sandbox Code Playgroud)
春季版:
4.1.6.RELEASE
spring ×3
java ×2
spring-4 ×2
spring-mvc ×2
annotations ×1
hibernate ×1
jpa ×1
mdf ×1
r ×1
rest ×1
spring-data ×1
sql-server ×1