spring boot自动打开浏览器和配置打开首页

目录

前言

一、配置自动打开浏览器

在启动器同级目录下创建config文件夹来放启动配置类

下面是application.properties的配置

二、配置默认首页

总结



前言

如何配置自动打开浏览器  和默认页面设置


一、配置自动打开浏览器

在启动器同级目录下创建config文件夹来放启动配置类

/**
 * @author :
 * @date :Created in 2022/11/13 23:41
 * @description:配置自动打开浏览器
 * @modified By:
 * @version:1.0
 */
@Component    //该注解把类实例化到spring容器中相当于配置文件
public class MyBrowserRunner implements CommandLineRunner {

    //框架自带的日志 打印信息到控制台
    private static Logger logger = LoggerFactory.getLogger(MyBrowserRunner.class);

    //通过该注解@Value 利用spel表达式(${spring.web.loginurl})获取配置文件的值
    @Value("${spring.web.loginurl}")
    private String loginUrl;

    @Value("${spring.web.googleexcute}")
    private String googleExcutePath;

    @Value("${spring.auto.openurl}")
    private boolean isOpen;

    @Override
    public void run(String... args) throws Exception {
        if(isOpen){
            String cmd = googleExcutePath +" "+ loginUrl;
            Runtime run = Runtime.getRuntime();
            try{
                run.exec(cmd);
                logger.debug("启动浏览器打开项目成功");
            }catch (Exception e){
                e.printStackTrace();
                logger.error(e.getMessage());
            }
        }
    }
}

下面是application.properties的配置

//设置是否自动打开浏览器
spring.auto.openurl=true
//本机浏览器的.exe文件地址
spring.web.googleexcute=C:\\Users\\Ren\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe
//自动打开的url地址
spring.web.loginurl=http://localhost:8080/

二、配置默认首页

在templates下新建一个html或者jsp

 
        
            org.springframework.boot
            spring-boot-starter-thymeleaf
        
        
            org.apache.tomcat.embed
            tomcat-embed-jasper
        

然后写首页的控制层,访问路径为根路径,这样自动打开浏览器的时候,就也打开默认首页了


/**
 * @author :
 * @date :Created in 2022/11/14 23:23
 * @description:
 * 在templates目录下的所有页面 只能通过controller来跳转
 * 这需要模板引擎的支持 thymeleaf
 * @modified By:
 * @version:
 */
@Controller
public class IndexController {

    @RequestMapping("/")
    public String index(){
        return "index";
    }
}

第二种 实现首页的方式,编写Mvc视图控制器(推荐)

package com.rcg.springbootweb.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @author :
 * @date :Created in 2022/11/15 23:25
 * @description:配置首页视图解析器
 * 使用视图解析器,因为重新配置了mvc 导致静态资源加载不了
 * 此时需要把addResourceHandlers方法也重写一下
 * @Configuration声明为配置类
 * @modified By:
 * @version:
 */
@Configuration
@EnableWebMvc
public class MyMvcConfig implements WebMvcConfigurer {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/**").addResourceLocations("classpath:/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
 registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
    
    }


    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        //添加视图控制,访问该路径时跳转到首页
        registry.addViewController("/").setViewName("index");
        registry.addViewController("/index.html").setViewName("index");
    }
}

总结

如果配置文件使用

@Component
@ConfigurationProperties(prefix = "person")

来通过spring容器获取配置文件的对象的值时,会提示要配置spring boot文件这时候,加上默认依赖配置就好了

  
        
            org.springframework.boot
            spring-boot-configuration-processor
        

你可能感兴趣的:(spring,boot,spring,boot,spring,java,bug)