Questions tagged «spring»

Spring框架是用于Java平台上的应用程序开发的开源框架。它的核心是对基于组件的体系结构的丰富支持,目前它具有二十多个高度集成的模块。


3
如何在Spring MVC REST控制器中访问HTTP标头信息?
我是Web编程的新手,尤其是Java语言的新手,所以我才了解到标头和正文是什么。 我正在使用Spring MVC编写RESTful服务。我可以@RequestMapping在控制器中创建简单的服务。我需要帮助来了解如何从REST服务控制器中的方法请求中获取HTTP标头信息。我想解析出标题并从中获取一些属性。 您能解释一下我如何获得这些信息吗?

4
REST API-是否有DTO?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 4年前关闭。 改善这个问题 我目前正在为一个项目创建REST-API,并且一直在阅读有关最佳实践的文章。许多人似乎反对DTO并只是公开域模型,而其他人似乎认为DTO(或用户模型或任何您想称呼的东西)是不好的做法。我个人认为这篇文章很有道理。 但是,我还了解了所有其他映射代码,域模型可能与其DTO对应对象100%相同的DTO的缺点。 我们的API主要是为了使其他客户端可以使用数据而创建的,但是,如果操作正确,我们还将尽可能地将其用于我们自己的Web GUI。 问题是我们可能不想将所有域数据公开给其他客户端用户。许多数据仅在我们自己的Web应用程序中才有意义。另外,我们可能不希望在所有情况下都公开有关某个对象的所有数据,尤其是与其他对象的关系等等。例如,如果我们公开一个特定对象的列表,则我们不一定要公开整个对象层次结构。这样就不会暴露对象的子对象,而是可以通过链接(阴影)来发现它。 我应该如何解决这个问题?我正在考虑在我们的域模型上使用Jackson混合来控制在不同情况下将公开哪些数据。还是考虑到DTO的缺点和争议,我们是否应该一路使用DTO?
154 java  spring  rest  dto  hateoas 

4
javax.transaction.Transactional与org.springframework.transaction.annotation.Transactional
我不明白注释javax.transaction.Transactional和之间的实际区别是什么org.springframework.transaction.annotation.Transactional? 是org.springframework.transaction.annotation.Transactional扩展名javax.transaction.Transactional还是它们具有完全不同的含义?什么时候应该使用它们?@Transactinal在服务层中使用Spring ,在DAO 中使用javax? 谢谢回答。

10
为什么要在Java / Spring上使用Scala / Lift?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 6年前关闭。 改善这个问题 我知道这个问题有点悬而未决,但是我一直在将Scala / Lift视为Java / Spring的替代品,我想知道Scala / Lift在此之上的真正优势是什么。从我的观点和经验来看,Java Annotations和Spring确实最小化了您为应用程序要做的编码量。Scala / Lift是否会对此有所改善?
151 java  spring  scala  lift 



4
如何使用Spring RestTemplate发布表单数据?
我想将以下(工作)curl代码段转换为RestTemplate调用: curl -i -X POST -d "email=first.last@example.com" https://app.example.com/hr/email 如何正确传递email参数?以下代码导致404 Not Found响应: String url = "https://app.example.com/hr/email"; Map<String, String> params = new HashMap<String, String>(); params.put("email", "first.last@example.com"); RestTemplate restTemplate = new RestTemplate(); ResponseEntity<String> response = restTemplate.postForEntity( url, params, String.class ); 我试图在PostMan中制定正确的调用,并且可以通过在主体中将email参数指定为“ form-data”参数来使其正常工作。在RestTemplate中实现此功能的正确方法是什么?

8
使用Tomcat启动Spring Boot时的用户名和密码是什么?
当我通过Spring Boot和访问权限部署Spring应用程序时,localhost:8080我必须进行身份验证,但是用户名和密码是什么或如何设置呢?我试图将其添加到我的tomcat-users文件中,但是没有用: <role rolename="manager-gui"/> <user username="admin" password="admin" roles="manager-gui"/> 这是应用程序的起点: @SpringBootApplication public class Application extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); } } 这是Tomcat依赖项: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> 我如何认证localhost:8080?


7
如何在Spring Controller中获取与JPA和Hibernate的FetchType.LAZY关联
我有一个Person类: @Entity public class Person { @Id @GeneratedValue private Long id; @ManyToMany(fetch = FetchType.LAZY) private List<Role> roles; // etc } 与多对多的关系是懒惰的。 在我的控制器中 @Controller @RequestMapping("/person") public class PersonController { @Autowired PersonRepository personRepository; @RequestMapping("/get") public @ResponseBody Person getPerson() { Person person = personRepository.findOne(1L); return person; } } 而PersonRepository只是根据本指南编写的代码 public interface PersonRepository extends …


16
Spring MVC @PathVariable被截断
我有一个控制器,可提供对信息的RESTful访问: @RequestMapping(method = RequestMethod.GET, value = Routes.BLAH_GET + "/{blahName}") public ModelAndView getBlah(@PathVariable String blahName, HttpServletRequest request, HttpServletResponse response) { 我遇到的问题是,如果我使用带有特殊字符的路径变量访问服务器,则会被截断。例如: http:// localhost:8080 / blah-server / blah / get / blah2010.08.19-02:25:47 参数blahName将为blah2010.08 但是,对request.getRequestURI()的调用包含所有传入的信息。 任何想法如何防止Spring截断@PathVariable?
142 java  spring  rest  spring-mvc  get 

4
Spring类路径前缀差异
记录在这里它说 这个特殊的前缀指定必须获取与给定名称匹配的所有类路径资源(内部,这实际上是通过ClassLoader.getResources(...)调用发生的),然后合并以形成最终的应用程序上下文定义。 有人可以解释吗? 使用classpath*:conf/appContext.xml和classpath:conf/appContext.xml不使用星号有什么区别?
141 java  spring  classpath 

11
使用Spring Security进行单元测试
我公司一直在评估Spring MVC,以确定我们是否应该在我们的下一个项目中使用它。到目前为止,我喜欢我所看到的内容,现在,我正在研究Spring Security模块,以确定是否可以/应该使用它。 我们的安全要求非常基本。用户只需要能够提供用户名和密码即可访问网站的某些部分(例如获取有关其帐户的信息);并且网站上的页面很少(常见问题解答,支持等),应该为匿名用户提供访问权限。 在我创建的原型中,我已经在Session中为经过身份验证的用户存储了一个“ LoginCredentials”对象(其中仅包含用户名和密码)。例如,某些控制器检查此对象是否在会话中,以获取对登录用户名的引用。我正在寻找用Spring Security替换这种自生的逻辑,这将具有消除“我们如何跟踪已登录用户的方式”的好处。和“我们如何验证用户身份?” 从我的控制器/业务代码。 看来Spring Security提供了(每个线程)“上下文”对象,以便能够从您应用程序中的任何位置访问用户名/主要信息... Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal(); ...在某种程度上似乎很不像Spring,因为该对象是一个(全局)单例。 我的问题是这样的:如果这是在Spring Security中访问有关已认证用户的信息的标准方法,那么将Authentication对象注入SecurityContext的可接受的方法是什么,以便当单元测试需要一个认证用户? 我是否需要在每个测试用例的初始化方法中进行连接? protected void setUp() throws Exception { ... SecurityContextHolder.getContext().setAuthentication( new UsernamePasswordAuthenticationToken(testUser.getLogin(), testUser.getPassword())); ... } 这似乎太冗长了。有更容易的方法吗? 该SecurityContextHolder对象本身看起来非常不像Spring ...

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.