SpringBoot笔记

IoC容器简介

Spring IoC 容器是一个管理Bean的容器, 在Spring的定义种, 他要求所有的IoC容器都必须实现接口BeanFactory , 他是一个顶级容器管理接口。以下是源码:

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by Fernflower decompiler)
//

package org.springframework.beans.factory;

import org.springframework.beans.BeansException;

public interface BeanFactory {
    //前缀
    String FACTORY_BEAN_PREFIX = "&";
    //多个getBean 方法
    Object getBean(String var1) throws BeansException;

    <T> T getBean(String var1, Class<T> var2) throws BeansException;

    <T> T getBean(Class<T> var1) throws BeansException;

    Object getBean(String var1, Object... var2) throws BeansException;
   //判断是否包含Bean
    boolean containsBean(String var1);
    //Bean是否是实例的
    boolean isSingleton(String var1) throws NoSuchBeanDefinitionException;
    //Bean是否是原型
    boolean isPrototype(String var1) throws NoSuchBeanDefinitionException;
    //判断是否类型匹配
    boolean isTypeMatch(String var1, Class<?> var2) throws NoSuchBeanDefinitionException;
   //判断Bean的类型
    Class<?> getType(String var1) throws NoSuchBeanDefinitionException;
     //获取Bean的别名
    String[] getAliases(String var1);
}

 在这里我们可以看到所有的getBean 方法有很多种, 这个是IoC容器的最重要的方法之一, 我们可以看到有按照类型  byType,按照name的byName , 这就意味着在Spring  IoC容器中 , 我们可以按照类型或者名字获取Bean。

isSingleton方法是判断Bean是否在Spring IoC 中为单例,需要记住的是,在Spring IoC中,默认的情况下,Bean 都是单例存在的,也就是说使用getBean 方法返回的都是同一个对象,isSingleton方法相反的是isPrototype方法, 如果它返回的是true, 那么当我们使用getBean 方法获取Bean 对象的时候, Spring IoC容器就会创建一个新的Bean返回给调用者。

装配你的Bean

Spring允许我们进行扫描装配Bean 到IoC 容器中, 对于扫描装配而言使用的注解是 @Component 和 @ComponentScan .

@Component 是标明哪个类被扫描进入Spring IoC 容器中。
@ComponentScan 是标明采用何种策略去扫描装配Bean。

使用属性文件

属性文件需要引入依赖:

   <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <version>true</version>
    </dependency>

常规配置

  1. server.port=8080 – wen容易端口号
  2. server.error.path=/error --配置当前项目出错后跳转的页面
  3. server.servlet.session.timeout=30m – 设置session 的失效时间,30m表示30分钟,如果不写单位,默认单位是秒。
  4. server.servlet.context-path=/chapter02 – 配置项目名称,默认是 / ,如果配置,则在访问路径上要加上该路径
  5. server.tomcat.uri-encoding=utf-8 – 配置tomcat的访问编码
  6. server.tomcat.max-threads=500 – 设置tomcat 的最大线程数
  7. server.tomcat.basedir=/home/sang/tmp --basedir是存放Tomcat运行日志和临时文件的目录,如果不配置,则默认使用系统中临时文件。
  8. server.ssl.key-store=sang.p12 – 表示密钥文件名
  9. server.ssl.key-alis=tomcathttps – 密钥别名
  10. server.ssl.key-store-password=12345 – 密码
  11. server.servlet.multipart.enable = true – true 表示开启多文件上传
  12. server.servlet.multipart.file-size-threshold=0 – 设置文件写入磁盘的阈值,默认为0
  13. server.servlet.multipart.location=E:\temp – 设置上传文件的临时存储位置
  14. server.servlet.multipart.max-file-size=1MB – 设置文件上传的最大大小 ,默认1MB
  15. server.servlet.multipart.max-request-size=10MB – 设置文件上传时的总大小,默认10MB
  16. server.servlet.multipart.resolve-lazily=false --设置文件是否延迟解析, 默认是false

静态资源

spring Boot中默认会过滤所有的静态资源,静态资源的位置一共有5个,分别是:

 classpath:/META-INF/resource/
  classpath:/resource/
  classpath:/static/
  classpath:/public/
  /

开发者可以将静态资源文件放在上面5个文件夹中任意一个,这5个静态资源位置的优先级依次降低。一般情况下,springboot 项目不需要webapp目录,所以第5个 “/” 暂时不考虑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值