第一天
package com.cy.pj.common.cache;
import org.springframework.stereotype.Component;
/**
FAQ? 在 SpringBoot 工程中如何将一个类的实例交给 spring 创立和治理。1) 将类放在启动类所在包或子包中
2) 将类应用 spring 框架中指定注解进行形容,@Component
@Component("defaultCache") // 注解起的作用就是做标记
public class DefaultCache {}
第一天罕用注解简绍:
/**
任何一个我的项目都有一个启动入口, 在 springboot 中的启动类须要有
@SpringBootApplication 注解进行形容, 并且在类中会定义一个 main
办法,main 办法在运行时会读取配置文件, 并加载指定资源, 而后进行初始化操作.
FAQ?
1)SpringBoot 我的项目中配置文件起源?
a)SpringBoot 官网定义 (个别为一些根底配置), 例如 spring.factories(在 springboot 主动配置依赖中)
b) 第三方定义 (例如日志零碎 -log4j.xml,.....)
c) 咱们本人定义 (application.properties,.....)
2)SpringBoot 我的项目中的资源加载?(资源能够了解为咱们的 class 文件)
a)JDK 类文件 (Object,....)
b)Spring 类文件, 第三办法类文件,...
c) 本人定义的类文件
3)Spring 中的我的项目资源初始化?
a) 构建实例对象
b) 基于对象存储数据 (例如配置信息, 默认值)/
//JVM 参数 (理解):
// 跟踪类加载:-XX:+TraceClassLoading
//CommandLineRunner 此接口定义了一种标准,能够在 spring 框架初始化当前执行一些逻辑。@SpringBootApplication
public class CgbSpringboot01Application implements CommandLineRunner {/**
main 办法由 jvm 调用
@param args JVM 运行时给 main 办法传入值
*/
public static void main(String[] args) {System.out.println("mains.args="+Arrays.toString(args));
SpringApplication.run(CgbSpringboot01Application.class, args);
}
//@Autowired 用于通知 spring 框架,为这个属性注入一个值。@Autowired
private BeanFactory beanFactory;
/** 在此办法能够获取 spring 容器中的一些初始化资源
@param args 与 main 办法中的参数是一样的
*/
@Override
public void run(String... args) throws Exception {System.out.println("run.args="+Arrays.toString(args)); System.out.println("beanFactory="+beanFactory);//DefaultListableBeanFactory
}
}