Springboot-Spring MVC应用程序中@Componenscan的java用法
我的问题是,我不知道如何为控制器包指定路径,以便在@componenscan注释中搜索其中的requestmapping注释,该注释位于主类中
我的应用程序类:
package com.personalitymeet;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Configuration
@EnableAutoConfiguration
@ComponentScan()
@Controller
public class DemoApplication {
@ResponseBody
@RequestMapping("/")
String entry(){
return "bla";
}
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
用户控制器。爪哇:
package com.personalitymeet.web;
import com.personalitymeet.domain.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* Created by mv on 15.09.2016.
*/
@Controller
public class UserController {
@RequestMapping("/user")
public String user(Model model){
User user = new User();
user.setFirstname("Misi");
user.setLastname("Varga");
model.addAttribute("user",user);
return "userview";
}
}
所以,我的问题是,我如何告诉springboots它应该在Usercontroller类中搜索@Requestmapping注释
# 1 楼答案
您的问题不是
@ComponentScan
,它将在com.personalitymeet
和所有子包中搜索。因为某种原因,你没有激活MVC基础设施您应该在
build.gradle
文件中将spring-boot-starter-web
作为依赖项,并且应该将@EnableWebMvc
添加到配置类中# 2 楼答案
您可以将组件扫描指定到配置文件以扫描文件夹
com.personalitymeet
,它将自动选择具有相关注释的所有类下面是初始化应用程序所需的3个基本注释
# 3 楼答案
你能替换这个代码吗
使用此代码:
配置应用程序以公开管理终结点:
然后点击此端点以查看应用程序公开的端点:
此外,我建议为根目录创建一个单独的控制器,以使启动类与应用程序逻辑保持一致