Spring boot入门(1)

概念

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

spring boot对spring mvc、tomcat等都做了集成,只需要依赖spring boot的jar,通过注解指定主类,然后执行里面的main方法,它就能启动tomcat提供服务。不需要spring mvc的繁琐配置。

使用spring boot时不需要引入spring mvc,tomcat等的依赖,只需要引入spring boot的依赖即可,它会自动寻找spring mvc,tomcat等的合适的版本引入,解决了框架中各种组件版本不一致的问题。

1.开发第一个Spring Boot应用程序

让我们用Java开发一个简单的“Hello World!”Web应用程序,它突出了一些Spring Boot的主要功能。我们将使用Maven来构建这个项目,因为大多数IDE都支持它

在开始之前,打开终端以检查您是否安装了有效的Java和Maven版本。

$ java -version
java版“1.7.0_51”
Java(TM)SE运行时环境(版本1.7.0_51-b13)
Java HotSpot(TM)64位服务器VM(内置24.51-b03,混合模式)

   
   
    $ mvn -v
    Apache Maven 3.2.3(33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08-11T13:58:10-07:00)
    Maven home:/Users/user/tools/apache-maven-3.1.1
    Java版本:1.7.0_51,供应商:Oracle Corporation
    
       
       

      有效版本要在jdk1.7版本以上,maven版本要在3.2.3以上,如我的版本:
      在这里插入图片描述

      1.1创建POM

      我们需要从创建Maven pom.xml文件开始。这pom.xml是用于构建项目的配方。打开您喜欢的文本编辑器并添加以下内容:

      <!-- 继承默认值为Spring Boot -->
      	<parent>
      		<groupId>org.springframework.boot</groupId>
      		<artifactId>spring-boot-starter-parent</artifactId>
      		<version>1.5.17.RELEASE</version>
      	</parent>
      
         
         

        1.2添加类路径依赖项

        于我正在开发一个Web应用程序,我们将添加一个spring-boot-starter-web依赖项

        <dependencies> 
            <dependency> 
                <groupId> org.springframework.boot </ groupId> 
                <artifactId> spring-boot-starter-web </ artifactId> 
            </ dependency> 
        </ dependencies>
        
           
           

          1.3编写代码

          要完成我们的应用程序,我们需要创建一个Java文件

          package com.ps;
          

          import java.util.HashMap;

          import org.springframework.boot.SpringApplication;
          import org.springframework.boot.autoconfigure.SpringBootApplication;
          import org.springframework.web.bind.annotation.GetMapping;
          import org.springframework.web.bind.annotation.RestController;

          @RestController
          //@ResponseBody 表示返回json字符串
          @SpringBootApplication
          public class Mvc {

          @GetMapping("/")
          String home() {
              return "Hello 张三!";
          }
          
          @GetMapping("/hello")
          HashMap&lt;String, String&gt; hello() {
          	HashMap&lt;String,String&gt; map = new HashMap&lt;String, String&gt;();
          	map.put("name", "张三");
              return map;
          }
          
          
          public static void main(String[] args) throws Exception {
              SpringApplication.run(Mvc.class, args);
          }
          

          }

            1.3.1 注解

            @RestController:集合了@ResponseBody和@Controller两个注解,能同时做到返回一个json对象和扫描该类所在的包下所有带注解的类的效果

            @RequestMapping 和他的衍生品 @GetMapping,@PostMapping,@PutMapping,@DeleteMapping,@PutMapping
            这个注解的作用是当前台界面调用Controller处理数据时候告诉控制器怎么操作。get 对应查询,put 对应更新,post 对应增加,delete 对应删除。
            @SpringBootApplication:主要重要是无须在写xml配置文件

            1.3.2 运行

            直接运行jvm,然后浏览器访问地址
            在这里插入图片描述
            在这里插入图片描述
            在这里插入图片描述
            注意:默认端口是8080

            2.spring boot集成redis

            首先,在pom.xml文件里面加上依赖

            <!-- 集成redis -->
            		<dependency>
            			<groupId>org.springframework.boot</groupId>
            			<artifactId>spring-boot-starter-data-redis</artifactId>
            		</dependency>
            
             
             

              测试:

              package com.ps;
              

              import java.util.List;

              import org.springframework.beans.factory.annotation.Autowired;
              import org.springframework.data.redis.core.RedisTemplate;
              import org.springframework.data.redis.core.StringRedisTemplate;
              import org.springframework.web.bind.annotation.GetMapping;
              import org.springframework.web.bind.annotation.RestController;

              @RestController
              public class Redis {

              @Autowired
              StringRedisTemplate str;	
              
              
              @GetMapping("/set")
              public void setStr() {
              	str.boundValueOps("name").set("张三");
              	redisTemplate.boundListOps("list").leftPushAll("张三","李四","王五");
              	str.boundListOps("list").leftPushAll("张三","李四","王五");
              }
              
              @GetMapping("/get")
              public String getStr(String key) {
              	
              	List&lt;String&gt; range2 = str.boundListOps("list").range(0, 10);
              	System.out.println(range2.toString());
              	return str.boundValueOps("name").get();
              }
              

              }

                同时还要写一个资源文件:application.properties名字固定

                #确定服务器的端口
                server.port=8085
                #确定redis的数据库
                spring.redis.database=0
                #确定redis连接的ip
                spring.redis.host=192.168.0.243
                #确定redis的端口
                spring.redis.port=6379
                #确定redis的密码
                spring.redis.password=ps123456
                
                 
                 

                  效果图
                  在这里插入图片描述
                  在这里插入图片描述
                  注意:要先启动redis的服务

                  3.spring boot集成mysql和Druid

                  加入依赖:

                  		<!-- 集成mysql -->
                  		<dependency>
                  			<groupId>org.springframework.boot</groupId>
                  			<artifactId>spring-boot-starter-data-jpa</artifactId>
                  		</dependency>
                  		<!-- mysql驱动包 -->
                  		<dependency>
                  			<groupId>mysql</groupId>
                  			<artifactId>mysql-connector-java</artifactId>
                  		</dependency>
                  		<!-- 使用druid连接池依赖将默认的c3p0连接池覆盖掉 -->
                  		<dependency>
                  			<groupId>com.alibaba</groupId>
                  			<artifactId>druid-spring-boot-starter</artifactId>
                  			<version>1.1.10</version>
                  		</dependency>
                  
                   
                   

                    测试:

                    package com.ps;
                    

                    import java.util.List;
                    import java.util.Map;

                    import org.springframework.beans.factory.annotation.Autowired;
                    import org.springframework.jdbc.core.ColumnMapRowMapper;
                    import org.springframework.jdbc.core.JdbcTemplate;
                    import org.springframework.web.bind.annotation.GetMapping;
                    import org.springframework.web.bind.annotation.RestController;

                    import com.alibaba.druid.pool.DruidDataSource;

                    @RestController
                    public class Mysql {

                    // spring boot默认使用的是c3p0连接池,但是效率没有druid连接池好,所以在这里我使用了druid连接池
                    @Autowired   // 这里是druid连接池
                    private JdbcTemplate jdbcTemplate;
                    
                    @GetMapping("/getEmp")
                    public List&lt;Map&lt;String, Object&gt;&gt; getMysql() {
                    	List&lt;Map&lt;String, Object&gt;&gt; query = jdbcTemplate.query("select sal from emp", new ColumnMapRowMapper());
                    	return query;	
                    }
                    

                    }

                      application.properties资源文件里加:

                      spring.datasource.url=jdbc:mysql://localhost:3306/m1dn
                      spring.datasource.username=root
                      spring.datasource.password=ps123456
                      spring.datasource.driver-class-name=com.mysql.jdbc.Driver
                      spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
                      spring.datasource.druid.stat-view-servlet.login-username=druid
                      spring.datasource.druid.stat-view-servlet.login-password=123456
                      spring.datasource.druid.filter.stat.slow-sql-millis=1
                      
                       
                       

                        效果图:
                        在这里插入图片描述

                        访问:

                        http://127.0.0.1:8080/druid/index.html 
                        
                         
                         
                        • 1

                        这是Druid的功能
                        用户和密码就是在上面application.properties资源文件里的设置的druid和123456
                        在这里插入图片描述
                        小知识:spring boot中带有@Configuration注解的类,可以看成是spring boot的配置文件的类

                                </div>
                        					<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-a47e74522c.css" rel="stylesheet">
                                    </div>
                        
                        • 0
                          点赞
                        • 0
                          收藏
                          觉得还不错? 一键收藏
                        • 0
                          评论
                        评论
                        添加红包

                        请填写红包祝福语或标题

                        红包个数最小为10个

                        红包金额最低5元

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

                        抵扣说明:

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

                        余额充值