My First Spring-Boot Project(3)-WebConfig

既然框架能跑起来,接下来当然是分析代码。在My First Spring-Boot Project(1)提到需要添加的两个东西分析下:ChickenApplication.java和application.properties

 1 /**
 2  * @SpringBootApplication等价于@Configuration、@EnableAutoConfiguration、@ComponentScan,
 3  * 查看SpringBootApplication注解可以发现@ComponentScan并没有添加任何的参数,
 4  * 它会自动扫描工程里所有的@Component, @Service, @Repository, @Controller并把它们注册为Spring Beans。
 5  */
 6 @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
 7 public class ChickenApplication implements ServletContextInitializer {
 8 }

SpringBootApplication 用来做快速启动用。也就是不用启动tomcat就可以跑一个项目,微服务的便利性。可以通过点击Gradle->task->application->bootRun跑起来,也可以写一个main方法调用

1 public static void main(String[] args) {
2         SpringApplication.run(ChickenApplication.class, args);
3     }

 

编写界面的时候我们不想网页都放在webapp目录下,而是新建一个文件夹,例如webapp/view里面,这个时候我们通过设置InternalResourceViewResolver,将读取路径切换到该目录。

onfiguration
public class WebConfig extends WebMvcConfigurationSupport {
 
    /**
     * 另外一种是springmvc中的代码式配置,这种也是现在比较流行的配置方式,不显式指定配置文件,配置即代码的思想,
     * 脚本语言python js scala流行的配置方式。
     * 代码是配置的主要操作就是自己写代码来为mvc配置类中的某个方法注入bean或者直接覆盖方法
     */
    @Bean
    public InternalResourceViewResolver viewResolver() {
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setPrefix("/view/");
     //viewResolver.setSuffix(".html");//希望加载所有类型的页面(html,htm,jsp等),所以注释这一行
        return viewResolver;
    }
  @Override
  public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
      configurer.enable();
  }
/** * springmvc拦截器(HandlerInterceptor)。 拦截器在springmvc中有重要的作用,它比servlet的Filter功能更强大(拦截器中可以编程的地方更多)也更好使用, 缺点就是它只能针对springmvc,也就是dispatcherServlet拦截的请求,不是所有servlet都能被它拦截。 */ 
    @Override 
    public void addInterceptors(InterceptorRegistry registry) { 
    // registry.addInterceptor(new Interceptor1()).addPathPatterns("/**"); 
    super.addInterceptors(registry); 
    } 
}
posted @ 2018-09-23 16:09  临兵斗者  阅读(120)  评论(0)    收藏  举报