質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

1回答

5417閲覧

Spring AOP実装中のエラーについて

987654321

総合スコア28

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2020/10/11 06:24

行っていること

https://www.amazon.co.jp/gp/product/B07H6XLXD7/ref=ppx_yo_dt_b_d_asin_title_o00?ie=UTF8&psc=1
上記URLの本の7章のSpring AOPについて実装を行っていました。
サンプルコードを記載して、Spring Bootを起動しましたが、エラーが出てしまいました。

エラー文

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'projectingArgumentResolverBeanPostProcessor' defined in class path resource [org/springframework/data/web/config/ProjectingArgumentResolverRegistrar.class]: BeanPostProcessor before instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration': Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Pointcut is not well-formed: expecting 'name pattern' at character position 70 execution(*com.example.demo.login.controller.LoginController.getLogin(..)) ^ org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.3.4.RELEASE.jar:2.3.4.RELEASE] Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration': Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Pointcut is not well-formed: expecting 'name pattern' at character position 70 execution(*com.example.demo.login.controller.LoginController.getLogin(..)) ^ Caused by: java.lang.IllegalArgumentException: Pointcut is not well-formed: expecting 'name pattern' at character position 70 execution(*com.example.demo.login.controller.LoginController.getLogin(..)) ^

文字数の関係で抜粋しました。

該当コード

LogAspect.java

java

1package com.example.demo.login.aspect; 2 3import org.aspectj.lang.JoinPoint; 4import org.aspectj.lang.annotation.Aspect; 5import org.springframework.stereotype.Component; 6import org.aspectj.lang.annotation.Before; 7import org.aspectj.lang.annotation.After; 8 9@Aspect 10@Component 11public class LogAspect { 12 @Before("execution(*com.example.demo.login.controller.LoginController.getLogin(..))") 13 public void startLog(JoinPoint jp) { 14 System.out.println("メソッド開始:" + jp.getSignature()); 15 } 16 17 @After("execution(*com.example.demo.login.controller.LoginController.getLogin(..))") 18 public void endLog(JoinPoint jp) { 19 System.out.println("メソッド開始:" + jp.getSignature()); 20 } 21}

pom.xml

<dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> </dependency>

LoginController.java

java

1package com.example.demo.login.controller; 2 3import org.springframework.stereotype.Controller; 4import org.springframework.web.bind.annotation.GetMapping; 5import org.springframework.ui.Model; 6import org.springframework.web.bind.annotation.PostMapping; 7 8@Controller 9public class LoginController { 10 @GetMapping("/login") 11 public String getLogin(Model model) { 12 return "login/login"; 13 } 14 15 @PostMapping("/login") 16 public String postLogin(Model model) { 17 return "login/login"; 18 } 19}

やってみたこと

1、ファイルディレクトリの構成が間違っていないかの確認。
→間違っていたので、修正。修正後にLogAspect.javaをコメントアウトし、spring bootを起動したら問題なく作動。

2.プロジェクトの更新
pom.xmlを修正したので、プロジェクトを更新して、リフレッシュしましたが、エラー発生。
maven 依存関係のディレクトリーにaspectjweaverとspring-aopがあったので、問題無いかと思われる。

java.lang.IllegalArgumentExceptionやorg.springframework.beans.factory.BeanCreationExceptionを調べてみましたが、解決できませんでした。
お分かりになる方がいらっしゃれば、ご教授頂きたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

https://teratail.com/questions/270600?link=qa_related_pc
こちらに書いてありました。
お騒がせしました

投稿2020/10/11 06:25

987654321

総合スコア28

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問