在以下情况下,我需要使用与方法匹配的切入点创建方面:
我认为前两个条件很简单,但我不知道是否有可能用Spring完成第三个条件.如果不是,也许我可以将其改为:
你认为有可能实现这个目标吗?性能会好吗?
谢谢
编辑:匹配方法的一个例子.如您所见,MyMethod没有注释(但它可以).
@Controller
public class MyClass {
public void MyMethod (String arg0, @MyParamAnnotation Object arg1, Long arg3) {
...
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:我最终使用的解决方案,基于@Espen答案.正如你所看到的,我改变了我的条件:class实际上并不需要成为@Controller.
@Around("execution(public * * (.., @SessionInject (*), ..))")
public void methodAround(JoinPoint joinPoint) throws Exception {
...
}
Run Code Online (Sandbox Code Playgroud) 嗨我是Spring WebServices的新手.我想通过一个标准示例,其中WSDL作为Provider的输入提供.现在,这个WSDL的客户端代码将如何呈现.我们需要在客户端生成存根代码吗?
我发现,在相对简单的例子真是奇怪的行为,可能是我无法理解,因为春天@Transactional自然不深的知识,但是这是很有趣的.
我有简单的User dao,它扩展了spring JpaDaoSupport类并包含标准的save方法:
@Transactional
public User save(User user) {
getJpaTemplate().persist(user);
return user;
}
Run Code Online (Sandbox Code Playgroud)
如果工作正常,直到我已经添加新的方法,以同一类:用户getSuperUser(),这个方法应该isAdmin返回用户== true,并且如果在数据库没有超级用户,此方法应该创建一个.那是它的样子:
public User createSuperUser() {
User admin = null;
try {
admin = (User) getJpaTemplate().execute(new JpaCallback() {
public Object doInJpa(EntityManager em) throws PersistenceException {
return em.createQuery("select u from UserImpl u where u.admin = true").getSingleResult();
}
});
} catch (EmptyResultDataAccessException ex) {
User admin = new User('login', 'password');
admin.setAdmin(true);
save(admin); // THIS IS THE POINT WHERE STRANGE THING COMING OUT
}
return admin;
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的代码是奇怪向前时发现,没有交易被创建,并承诺在保存(管理)方法的调用,并没有新的用户实际上并没有,尽管@Transactional注解创建我感到很困惑.
在结果,我们有情况:当save()方法从UserDAO的类之外调用 …
如何返回java.util.concurrent.Future带有Receipt对象的对象并仅使用@javax.ejb.Asynchronous注释?
我需要任何额外的配置让Spring处理ejb注释吗?
我不想自己编写任何并发逻辑.
这是我的尝试不起作用:
@Asynchronous
public Future<Receipt> execute(Job job) {
Receipt receipt = timeConsumingWork(job);
return receipt;
}
Run Code Online (Sandbox Code Playgroud) 我根本无法获得弹簧注释,我只是想让最简单的工作......
.../mycontext/something - >调用方法:
@RequestMapping(value = "/something")
@ResponseBody
public String helloWorld() {
System.out.println("hello world");
return "Hello World";
}
Run Code Online (Sandbox Code Playgroud)
我的主要问题是无论我怎么努力,我找不到所需的配置文件的完整SIMPLE示例,每个春季教程都充满了垃圾,我只是一个控制器来处理带有映射的请求而不能让它工作
有没有人知道一个简单而完整的春天例子.宠物诊所是不好的,它太复杂了,我有一个很小的基本用例,它被证明是一个真正的痛苦工作(这总是发生在春天)
spring ×5
java ×4
annotations ×2
aop ×2
aspectj ×1
concurrency ×1
hibernate ×1
java-ee-6 ×1
jpa ×1
spring-mvc ×1
spring-ws ×1