账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Springboot添加Devtools包是怎么加载的
    50
    0

    看Springboot源码的时候,SpringFactoriesLoader类中loadFactoryNames方法里:

    public static List<String> loadFactoryNames(Class<?> factoryClass, ClassLoader classLoader) {
            String factoryClassName = factoryClass.getName();
            try {
                Enumeration<URL> urls = (classLoader != null ? classLoader.getResources(FACTORIES_RESOURCE_LOCATION) :
                        ClassLoader.getSystemResources(FACTORIES_RESOURCE_LOCATION));
                List<String> result = new ArrayList<String>();
                while (urls.hasMoreElements()) {
                    URL url = urls.nextElement();
                    Properties properties = PropertiesLoaderUtils.loadProperties(new UrlResource(url));
                    String factoryClassNames = properties.getProperty(factoryClassName);
                    result.addAll(Arrays.asList(StringUtils.commaDelimitedListToStringArray(factoryClassNames)));
                }
                return result;
            }

    当添加了springboot-devtools依赖后classLoader.getResources(FACTORIES_RESOURCE_LOCATION)加载的是spring-boot-devtools包中的META-INF/spring.factories文件,而去掉devtools的依赖之后加载的是spring-boot包中的META-INF/spring.factories文件,这是怎么实现的?为什么会这样?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ぺ尛尛貓゛ 普通会员 1楼

      在Spring Boot中,添加Devtools包并进行初始化需要以下步骤:

      1. 添加Devtools包:首先,你需要在你的pom.xml文件中添加Devtools的依赖。以下是一个示例:

      xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency>

      1. 初始化Devtools:在你的application.properties文件中,你可以设置devtools的初始启动参数。例如:

      properties spring.devtools.daemon=true spring.devtools.jvmargs=-Dspring.devtools.jvmargs=-XX:Max heap size=1024m

      1. 在你的Spring Boot应用中,你可以使用@SpringBootApplication注解来启动Spring Boot应用,然后使用@DevtoolsAutoLoad注解来自动加载Devtools。以下是一个示例:

      java @SpringBootApplication @DevtoolsAutoLoad public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }

      以上就是在Spring Boot中添加Devtools包并进行初始化的步骤。注意,你需要根据你的项目需求来设置devtools的启动参数和自动加载设置。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部