• Springboot框架


      菜谱微信小程序,使用简单,流程详细

      

      本片文章主要分享一下,Springboot框架为什么那么受欢迎以及如何搭建一个Springboot框架。

      我们先了解一下Springboot是个什么东西,它是干什么用的。我是刚开始接触,查了很多资料,有了一些自己的理解,有错误的地方,望指正。刚开始接触的时候了解到: springboot简化框架搭建,开箱即用,开发者从此不用担心jar包版本之间的依赖冲突了。基本0配置文件,可以提高我们的开发效率。使编码变简单、使配置变简单、使部署变简单、使监控变简单。简化了使用Spring的过程。我个人在搭建的过程中,认为,这个东西在配置方面很简洁,只要在pom.xml文件中添加相关依赖,maven可以自动下载。主要体现在开发效率、部署效率方面有显著的提升。

      接下来我们开始构建一个Springboot项目

      我使用的是eclipse,安装了STS插件:

     1. 在eclipse中:Help-> Eclipse Marketplace->Popular->STS,然后安装。

       

    2.建项目:File->new->other

     然后找到Spring,选择Spring Starter Project,之后Next

    这里取个项目名,然后Next就OK

    3.接下来是选择pom.xml的dependency,选择自己需要用的就可以,我这里随便选了几个,这里如果有没有选上的,等项目建好了,再去pom里手动添加也是可以的。(Your site you call the shots)

    4.Next->Finish就OK了。这样项目就建好了

    5.接下来我们写个helloworld

    package com.example;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    @RestController
    @EnableAutoConfiguration
    //@SpringBootApplication//标注启动配置入口
    public class DemoBogApplication {
    	@RequestMapping("/")//@RequestMapping注解提供路由信息,它告诉Spring任何来自“/"路径的HTTP请求都应该被映射到home方法
    	String home() {
    		return "Hello World!";
    	}
    	public static void main(String[] args) throws Exception{
    		SpringApplication.run(DemoBogApplication.class, args);
    	}
    }
    

     6.然后在application.properties中写端口,数据库配置等信息

    server.port=8050//端口号
    spring.datasource.url=jdbc:oracle:thin://localhost:1521/orcl
    spring.datasource.username=wwt
    spring.datasource.password=123456
    spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
    spring.jpa.properties.hibernate.hbm2ddl.auto=create-drop 
    

     7.运行:右键项目Run  As->Spring Boot App

    8.访问

    这样一个helloworld的Springboot项目就建完了。

    最后扩展一下,关于Druid,我是在做Springboot项目连接池的时候发现的,觉得很不错,下面是我配置的,有兴趣的可以看一下

    1.首先在pom文件里添加依赖:

    2.application.properties:这里用的是Derby内嵌数据库

    server.port=8070
    spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
    spring.datasource.url=jdbc:derby://192.168.1.109:1527/Agent
    characterEncoding=utf-8
    spring.datasource.driver-class-name=org.apache.derby.jdbc.ClientDriver
    spring.jpa.properties.hibernate.hbm2ddl.auto=none
    spring.mvc.view.prefix=/
    spring.mvc.view.suffix=.jsp
    
    spring.datasource.initialSize=5
    spring.datasource.minIdle=5
    spring.datasource.maxActive=20
    spring.datasource.maxWait=60000
    spring.datasource.timeBetweenEvictionRunsMillis=60000
    spring.datasource.minEvictableIdleTimeMillis=300000
    spring.datasource.validationQuery=SELECT 1 FROM DUAL
    spring.datasource.testWhileIdle=true
    spring.datasource.testOnBorrow=false
    spring.datasource.testOnReturn=false
    

    这样连接池就弄好了。

    druid其它方面的知识:

    Druid介绍

         Druid是一个JDBC组件,它包括三部分:

    •  DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。
    •  DruidDataSource 高效可管理的数据库连接池。 
    •  SQLParser

       Druid可以做什么? 

    •   可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。
    •   替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。
    •   数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。  
    •  SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。
    •   扩展JDBC,如果你要对JDBC层有编程的需求,可以通过Druid提供的Filter-Chain机制,很方便编写JDBC层的扩展插件。
     Druid首先是一个数据库连接池,但它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQL Parser。Druid支持所有JDBC兼容的数据库,包括Oracle、MySql、Derby、Postgresql、SQL Server、H2等等。
    Druid针对Oracle和MySql做了特别优化,比如Oracle的PS Cache内存占用优化,MySql的ping检测优化。Druid在监控、可扩展性、稳定性和性能方面都有明显的优势。Druid提供了Filter-Chain模式的扩展API,可以自己编写Filter拦截JDBC中的任何方法,可以在上面做任何事情,比如说性能监控、SQL审计、用户名密码加密、日志等等。

    参考资料:http://blog.csdn.net/blueheart20/article/details/52384032

         

  • 相关阅读:
    HTTP协议 (二) 基本认证
    HTTP协议详解
    Wireshark基本介绍和学习TCP三次握手
    Fiddler 教程
    UNIX网络编程——线程池模式比较(ICE线程池模型和L/F领导者跟随者模式)
    修改一行SQL代码 性能提升了100倍
    修改一行SQL代码 性能提升了100倍
    vector map 多层嵌套使用
    vector map 多层嵌套使用
    应该记住的话
  • 原文地址:https://www.cnblogs.com/729log/p/6237558.html
Copyright © 2020-2023  润新知