質問編集履歴

6 コードの書き方を修正

tt2

tt2 score 14

2018/11/06 23:09  投稿

spring mvcでセッション情報をフィールドインジェクションで自動セットする方法
spring mvcでセッション情報をフィールドインジェクションで自動的にセットする方法を教えて頂けないでしょうか。
例えば、userBeanという名称でセッションに保存した情報をServiceクラスのフィールドに自動セットを行う方法を探しています。
以下のコードで試しましたが、TestServiceクラスのuserBeanがnullになっており、参照できませんでした。
```xml
<dependency>
  <groupId>cglib</groupId>
  <artifactId>cglib</artifactId>
  <version>3.2.9</version>
</dependency>
```
```Java
import org.springframework.context.annotation.ScopedProxyMode;
import org.springframework.stereotype.Component;
import org.springframework.web.context.annotation.SessionScope;
@Component
@SessionScope(proxyMode = ScopedProxyMode.TARGET_CLASS)
public class UserBean {
   private String name;
   private int age;
   
   public String getName() {
       return name;
   }
   public void setName(String name) {
       this.name = name;
   }
   public int getAge() {
       return age;
   }
   public void setAge(int age) {
       this.age = age;
   }
}
```
```Java
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class WelcomeController {
   @Autowired
   HttpServletRequest request;
   
   @RequestMapping("/")
   public String home() {
       UserBean userBean = new UserBean();
       userBean.setName("テストユーザ");
       userBean.setAge(50);
       HttpSession session = request.getSession(true);
       session.setAttribute("userBean", userBean);
       new TestService().method();
       return "menu";
   }
}
```
```Java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class TestService {
   @Autowired
   public UserBean userBean;
   private UserBean userBean;
   
   public void method() {
       System.out.println("TestService : " + userBean.getName());
   }
   
   public void setUserBean(UserBean userBean) {
       this.userBean = userBean;
   }
   
   public UserBean getUserBean() {
       return this.userBean;
   }
}
```
  • Spring

    1339 questions

    Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

5 コードの書き方を修正

tt2

tt2 score 14

2018/11/06 23:08  投稿

spring mvcでセッション情報をフィールドインジェクションで自動セットする方法
spring mvcでセッション情報をフィールドインジェクションで自動的にセットする方法を教えて頂けないでしょうか。
例えば、userBeanという名称でセッションに保存した情報をServiceクラスのフィールドに自動セットを行う方法を探しています。
以下のコードで試しましたが、TestServiceクラスのuserBeanがnullになっており、参照できませんでした。
```xml
<dependency>
  <groupId>cglib</groupId>
  <artifactId>cglib</artifactId>
  <version>3.2.9</version>
</dependency>
```
```Java
import org.springframework.context.annotation.ScopedProxyMode;
import org.springframework.stereotype.Component;
import org.springframework.web.context.annotation.SessionScope;
@Component
@SessionScope(proxyMode = ScopedProxyMode.TARGET_CLASS)
public class UserBean {
   private String name;
   private int age;
   
   public String getName() {
       return name;
   }
   public void setName(String name) {
       this.name = name;
   }
   public int getAge() {
       return age;
   }
   public void setAge(int age) {
       this.age = age;
   }
}
```
```Java
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class WelcomeController {
   @Autowired
   HttpServletRequest request;
   
   @RequestMapping("/")
   public String home() {
       UserBean userBean = new UserBean();
       userBean.setName("テストユーザ");
       userBean.setAge(50);
       HttpSession session = request.getSession(true);
       session.setAttribute("userBean", userBean);
       new TestService().method();
       return "menu";
   }
}
```
```Java
import org.springframework.beans.factory.annotation.Autowired;  
import org.springframework.stereotype.Service;  
 
@Service
public class TestService {
   @Autowired
   public UserBean userBean;
   
   public void method() {
       System.out.println("TestService : " + userBean.getName());
   }
   
   public void setUserBean(UserBean userBean) {
       this.userBean = userBean;
   }
   
   public UserBean getUserBean() {
       return this.userBean;
   }
}
```
  • Spring

    1339 questions

    Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

4 コードの書き方を修正

tt2

tt2 score 14

2018/11/06 22:59  投稿

spring mvcでセッション情報をフィールドインジェクションで自動セットする方法
spring mvcでセッション情報をフィールドインジェクションで自動的にセットする方法を教えて頂けないでしょうか。
例えば、userBeanという名称でセッションに保存した情報をServiceクラスのフィールドに自動セットを行う方法を探しています。
以下のコードで試しましたが、TestServiceクラスのuserBeanがnullになっており、参照できませんでした。
 
```xml  
<dependency>  
  <groupId>cglib</groupId>  
  <artifactId>cglib</artifactId>  
  <version>3.2.9</version>  
</dependency>  
```  
```Java
import org.springframework.context.annotation.ScopedProxyMode;
import org.springframework.stereotype.Component;
import org.springframework.web.context.annotation.SessionScope;
@Component
@SessionScope(proxyMode = ScopedProxyMode.TARGET_CLASS)
public class UserBean {
   private String name;
   private int age;
   
   public String getName() {
       return name;
   }
   public void setName(String name) {
       this.name = name;
   }
   public int getAge() {
       return age;
   }
   public void setAge(int age) {
       this.age = age;
   }
}
```
```Java
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class WelcomeController {
   @Autowired
   HttpServletRequest request;
   
   @RequestMapping("/")
   public String home() {
       UserBean userBean = new UserBean();
       userBean.setName("テストユーザ");
       userBean.setAge(50);
       HttpSession session = request.getSession(true);
       session.setAttribute("userBean", userBean);
       new TestService().method();
       return "menu";
   }
}
```
```Java
@Service
public class TestService {
   @Autowired
   public UserBean userBean;
   
   public void method() {
       System.out.println("TestService : " + userBean.getName());
   }
   
   public void setUserBean(UserBean userBean) {
       this.userBean = userBean;
   }
   
   public UserBean getUserBean() {
       return this.userBean;
   }
}
```
  • Spring

    1339 questions

    Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

3 コードの書き方を修正

tt2

tt2 score 14

2018/11/06 22:35  投稿

spring mvcでセッション情報をフィールドインジェクションで自動セットする方法
spring mvcでセッション情報をフィールドインジェクションで自動的にセットする方法を教えて頂けないでしょうか。
例えば、userBeanという名称でセッションに保存した情報をServiceクラスのフィールドに自動セットを行う方法を探しています。
```セッションにuserBeanを保存する処理
UserBean userBean = new UserBean();
userBean.name = "テストユーザ";
userBean.age = 50;
```Java
import org.springframework.context.annotation.ScopedProxyMode;
import org.springframework.stereotype.Component;
import org.springframework.web.context.annotation.SessionScope;
HttpSession session = request.getSession(true);
session.setAttribute("userBean", userBean);
@Component
@SessionScope(proxyMode = ScopedProxyMode.TARGET_CLASS)
public class UserBean {
   private String name;
   private int age;
   
   public String getName() {
       return name;
   }
   public void setName(String name) {
       this.name = name;
   }
   public int getAge() {
       return age;
   }
   public void setAge(int age) {
       this.age = age;
   }
}
```
```TestService .java
@Component
```Java
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class WelcomeController {
   @Autowired
   HttpServletRequest request;
   
   @RequestMapping("/")
   public String home() {
       UserBean userBean = new UserBean();
       userBean.setName("テストユーザ");
       userBean.setAge(50);
       HttpSession session = request.getSession(true);
       session.setAttribute("userBean", userBean);
       new TestService().method();
       return "menu";
   }
}
```
```Java
@Service
public class TestService {
   @Autowired
   UserBean userBean;
   //・・・
   TesService内から、userBeanのnameやageの値を参照する処理を記述
   public UserBean userBean;
   
   public void method() {
       System.out.println("TestService : " + userBean.getName());
   }
   
   public void setUserBean(UserBean userBean) {
       this.userBean = userBean;
   }
   
   public UserBean getUserBean() {
       return this.userBean;
   }
}
```
  • Spring

    1339 questions

    Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

2

tt2

tt2 score 14

2018/11/06 08:44  投稿

spring mvcでセッション情報をフィールドインジェクションで自動セットする方法
spring mvcでセッション情報をフィールドインジェクションで自動的にセットする方法を教えて頂けないでしょうか。
以下のように試してみたしたが、userBeanがnullになっており、参照できません。
```セッションにuserBeanを保存する処理
UserBean userBean = new UserBean();
userBean.name = "テストユーザ";
userBean.age = 50;
HttpSession session = request.getSession(true);
session.setAttribute("userBean", userBean);
```
```TestService .java
@Component
public class TestService {
   @Autowired
   UserBean userBean;
   //・・・
   TesService内から、userBeanのnameやageの値を参照する処理を記述
}
```
  • Spring

    1339 questions

    Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

1

tt2

tt2 score 14

2018/11/05 21:35  投稿

spring mvcでセッション情報をフィールドインジェクションで自動セットする方法
spring mvcでセッション情報をフィールドインジェクションで自動的にセットする方法を教えて頂けないでしょうか。
例えば、userBeanという名称でセッションに保存した情報をServiceクラスに自動セットを行う方法を探しています。
```セッションにuserBeanを保存する処理
UserBean userBean = new UserBean();
userBean.name = "テストユーザ";
userBean.age = 50;
HttpSession session = request.getSession(true);
session.setAttribute("userBean", userBean);
```
```TestService .java
@Component
public class TestService {
   @Autowired
   UserBean userBean;
   //・・・
   TesController内から、userBeanのnameやageの値を参照する処理を記述
   TesService内から、userBeanのnameやageの値を参照する処理を記述
}
```
  • Spring

    1339 questions

    Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る