spring boot

1.什么是spring boot?

SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过==简化配置==来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。

2.为什么使用spring boot?

(1)可以创建独立的Spring应用程序,并且基于其MavenGradle插件,可以创建可执行的JARs和WARs;

(2)内嵌Tomcat或Jetty等Servlet容器;

(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;

(4)尽可能自动配置Spring容器;

(5)提供准备好的特性,如指标、健康检查和外部化配置;

(6)绝对没有代码生成,不需要XML配置。

3. 如何创建springboot工程?

1:第一种快速搭建-----必须联网

忽略文件设置

*.hprof;*.iml;*.md;*.mvn;*.pyc;*.pyo;*.rbc;*.yarb;*~;.DS_Store;.git;.hg;.idea;.svn;CVS;__pycache__;_svn;mvnw;mvnw.cmd;vssver.scc;vssver2.scc;
 

 代码实现

@SuppressWarnings("all")
@RestController
@RequestMapping("hello")
public class HelloController {
    @GetMapping("/index")
    public Map<String, Object> index(){
        HashMap<String, Object> o = new HashMap<>();
        o.put("name","pzy");
        o.put("age",18);
        return o;
    }
}
注意: controller包必须在主启动类所在包下。 默认扫描的包为主启动类所在的包
  

 2:使用maven来搭建。

搭建一个普通的meavn项目,在pom文件中引入spring boot依赖

 

 创建主启动类

 创建一个springboot配置文件--application或yml

spring boot配置 

  

4. java中如何读取springboot配置文件的内容?

springboot提供了两种格式的配置文件. 内容格式不同。

第一种:属性文件 后缀: propertie

 

第二种:yaml文件 后缀 yml

 如果上面两个配置文件的内容相同: 以properties配置为主。 如果上面配置文件的内容不同:都能用。

比如我们使用OSS完成文件上传时,之前把OSS相关的内容密钥,bucket等信息都写在java代码,在实际开发中肯定不允许。因为属于硬编码。以后项目上线后密钥和bucket等信息都需要改为客户。都需要修改了源码。 以后写都应该提取到配置文件中。我们掌握如何java代码读取配置文件中的内容。

在spring中提供了两个方式读取:
第一种: @Value

 第二种: @ConfigurationProperties

第一种@Value只能读取配置文件中基本类型和字符串类型。而第二种可以读取任意类型的值

yml定义数组的格式

 

5. springboot注册web组件

ervlet:-----(1)定义一个Servlet类 (2)重写doGet和doPost方法 (3)把自定义的serlvet注册到web.xml文件。

filter: ----(1)定义一个filter类 (2)dofilter方法 (3)把自定义的过滤器注册到web.xml

6.注册自定义的Servlet

自定义一个Servlet并重写doGet和doPost方法

public class MyServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("执行了doget方法");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("执行了doPost方法~~~~~~~~~~~~~~~~~~~~~~~");
    }
}

把自定义的Servlet注册到内置tomcat中。  

@Configuration //等价于spring配置文件.
public class MyConfiguration {

    @Bean //相当于spring配置文件中 <bean class="">  把该方法返回的对象交于spring容器来管理了
    public ServletRegistrationBean<Servlet> registrationBean(){
        ServletRegistrationBean<Servlet> registrationBean=new ServletRegistrationBean<>();
        registrationBean.setServlet(new MyServlet());
        registrationBean.setName("my");
        registrationBean.addUrlMappings("/my");
        return registrationBean;
    }
}

测试 

 

注册自定义过滤器

创建一个过滤器类并重写相应的方法。

public class MyFilter implements Filter {
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        System.out.println("经过了过滤器~~~~~~~~~~~~~~~~~~~~~~~~");
    }
}

 把自定义的过滤器注册到内置的tomcat中

@Bean
    public FilterRegistrationBean<Filter> registrationBean02(){
        FilterRegistrationBean<Filter> registrationBean=new FilterRegistrationBean<>();
        registrationBean.setFilter(new MyFilter());
        registrationBean.setName("myFilter");
        registrationBean.addUrlPatterns("/*");
        return registrationBean;
    }

7.springboot自动包扫描的原理

 查看@SpringBootApplication注解---它是一个复合注

第一层含义自动包扫描 第二层含义自动装配

 

 

我们能否指定包扫描路径: 可以  

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值