[英]MyBatis @Mapper declaration
春季靴子| MyBatis的
當我嘗試在控制器中聲明mybatis映射器時,IDE會對它加下划線,並且不進行編譯。
@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;
}
我最近以某種方式編譯了該類,但是,當我嘗試使用messageMapper實例(例如messageMapper.insert()
,由於未分配任何值,因此它給了我NullPointerException。 看來Spring出於某種原因對我不起作用。
根據文檔 ,我認為@MapperScan
不是正確的類,因為它們不在控制器創建時間的上下文中,所以它們不能自動裝配。 當在Mybatis XML配置文件中定義它時,將使用Sql Session Factory Provider加載該文件,這實際上是一個更有意義的地方,那么它與批注樣式不會有所不同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.