2017-05-17 10 views
0

スプリングブート| MyBatisMyBatis @Mapper宣言

コントローラーでMybatisマッパーを宣言しようとすると、IDEによって下線が引かれ、コンパイルされません。私はそれが任意の値を割り当てられていないようmessageMapper.insert()のように、messageMapperインスタンスを使用しようとすると、私は、このクラスは、最近何とかコンパイルしてしまった

@Controller 
@RequestMapping("demo") 
@MapperScan("com.sample.mapper") 
public class MessageController { 

private static final String MESSAGE = "message"; 
private static final String INDEX = "index"; 

@Autowired 
private MessageMapper messageMapper; 


@RequestMapping("printMessage/{message}") 
public String printMessage(ModelMap modelMap) { 
    modelMap.addAttribute(MESSAGE, "M"); 
    return INDEX; 
} 

@RequestMapping("printHello") 
public String printHello(ModelMap modelMap) { 
    modelMap.addAttribute(MESSAGE, "Hello, "); 
    return INDEX; 
} 

は、しかし、それは私にNullPointerExceptionができます。何らかの理由で春が私のために働いていないようです。

答えて

0

documencationによると、@MapperScanは正しいクラスではないと思います。コントローラーの作成時にコンテキストに含まれていないため、オートパワーにすることはできません。 Mybatis XML設定ファイルで定義されている場合、実際には意味をなさない場所であるSqlセッションファクトリプロバイダがロードされ、アノテーションスタイルと異なるものではありません。

関連する問題