1、项目的创建

直接在STS中创建spring项目所有的配置文件都是创建好项目异构由STS工具帮我们自动创建的

如果创建的是普通Maven项目则还有一些配置文件需要我们自己手动创建
创建项目时出现网络超时现象:域名解析问题、网络阻塞、所对应服务器线程不够

 在创建步骤没有问题的前提下所发生的文件报错(pom.xml文件报错)大多是由于所需要的JAR包依赖没有下载下来,

其原因或是网速太差,或者所连接的远程仓库没有所需jar包

2,启动入口

任何一个项目都有一个启动入口,在springboot中的启动类需要有
@SpringBootApplication注解进行描述,并且在类中会定义一个main方法,main方法在运行时会读取配置文件并加载指定资源
此注解所标记的类表示告诉计算机此为spring的入口类,springboot规定了启动入口内中需要包含一个main方法,并且规定其必须放在项目中的src/main/java文件夹下。mian方法中自动生成了springboot的入口方法:

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

}
## 3、SpringBoot所常用到的一些注解

**1**. @SpringBootApplication:用于标记启动入口

**2**. @SpringBootTest:标记此类为测试类

**3**. @Component:这个注解是spring中用于描述Bean类的,其实例对象可以由spring自行创建(在spring为此注解标记的类创建实例对象时会将对象放置在对象池中管理(Bean池),可以在此类上添加其他标签来规定spring为其创建对象的时间(**延时创建“@Lazy”**),规定其实例对象的创建方式(@Scope("singleton")@Scope("prototype"))

**4**. @Lazy:该对象用来告诉spring框架该对象不需要预先创建,只在其需要使用时创建实例对象(对内存更友好)

**5**. @Scope:
    @Scope("singleton"):单例作用域--这个类的实例在spring容器中默认只有一份,也就是说该对象实例可以共享,应该注意线程安全问题)该注解在无参数传入时默认是单例模式                       @Scope("prototype"):每次从spring容器中获取该对象时都会创建一个对象)
    
**6**. @PostConstruct:这个注解表示该注解所标记的方法会在对象实例创建之后运行(这里的对象创建基于spring自动创建对象实例)大部分情况下用在@Component所标记的类中的某一个方法,用来对已创建的对象实例进行初始化操作,与其相似的还有@PreDestroy 注解

**7**. @PreDestroy :用来标记该方法在**单例对象**销毁之前执行,spring容器在销毁时会先移除对象池中的实例对象,在移除对象的时候如果对象中定义了生命周期的销毁方法此时还会调用对象的生命周期销毁方法

**8**. @Autowired:为所创建的对象变量赋值,它是由spring框架所定义、用于对属性或是方法进行描述,在spring框架运行时如果发现其所管理的bean对象中有@Autowired描述的方法或者属性就可以按照既定规则为其赋值,若容器中有且只有一个与所描述方法或属性类型匹配的对象实例就会直接将其注入给@Autowired所描述的方法或属性,假设有多个类型一致的对象就会去匹配其方法名或者属性名,若没有就会抛出异常

**9**. @Qualifier此注解必须匹配@Atowired使用,用于为@Autowired所描述的方法或属性注入指定类型、指定名字的对象,对其属性和参数进行描述~~~~

易志杰
4 声望0 粉丝