Springboot入门操作

SpringBoot由Pivotal团队提供,旨在简化Spring应用搭建与开发。本文介绍SpringBoot基本概念,展示如何通过少量配置快速搭建web项目及微服务,涉及集成SpringMVC、Redis、数据库等依赖,以及Druid连接池和自定义Banner。

什么是spring boot

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适)

使用spring boot有什么好处

其实就是简单、快速、方便!平时如果我们需要搭建一个spring web项目的时候需要怎么做呢?
1)配置web.xml,加载spring和spring mvc
2)配置数据库连接、配置spring事务
3)配置加载配置文件的读取,开启注解
4)配置日志文件

配置完成之后部署tomcat 调试

现在非常流行微服务,如果我这个项目仅仅只是需要发送一个邮件,如果我的项目仅仅是生产一个积分;我都需要这样折腾一遍!
但是如果使用spring boot呢?
很简单,我仅仅只需要非常少的几个配置就可以迅速方便的搭建起来一套web项目或者是构建一个微服务!

Spring网站

访问http://spring.io/

集成springbood

<parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>1.5.17.RELEASE</version>
</parent>

集成springmvc 依赖

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

main方法运行

@RestController
@SpringBootApplication
public class Example{

	@GetMapping("/a")
	String home() {
		return "Hello World!";
	}
	@RequestMapping("/j")
	HashMap<String, Integer> home1() {
		HashMap<String, Integer> map=new HashMap<String, Integer>();
		map.put("id", 1);
		return map;
	}
	public static void main(String[] args) throws Exception {
		SpringApplication.run(Example.class, args);
	}
}

集成redis 依赖

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

redis例子

@RestController
public class RedisController {
	@Autowired
	StringRedisTemplate srt;
	 
	@GetMapping("/redis")
	public String redis() {
		srt.boundValueOps("myname").set("烂人");
		return srt.boundValueOps("myname").get();
	}
}

集成数据库依赖

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

druid 依赖

<dependency>
  		<groupId>com.alibaba</groupId>
   	<artifactId>druid</artifactId>
 		<version>1.1.9</version>
</dependency>

手动连接jdbc过滤器

@Configuration
public class ConfBean {

	@Value("${spring.datasource.driver-class-name}")
	private String driverClass;
	@Value("${spring.datasource.url}")
	private String url;
	@Value("${spring.datasource.username}")
	private String uname;
	@Value("${spring.datasource.password}")
	private String password;
	
	@Bean
	public DataSource dataSource() {
		DruidDataSource dds=null;
		try {
			dds = new DruidDataSource();
			dds.setUrl(url);
			dds.setDriverClassName(driverClass);
			dds.setUsername(uname);
			dds.setPassword(password);
			dds.setFilters("stat, wall, log4j");
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return dds;
	}
	
	 @Bean
	    public ServletRegistrationBean statViewServlet(){
	        //创建servlet注册实体
	        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),"/druid/*");
	        //设置ip白名单
	        servletRegistrationBean.addInitParameter("allow","127.0.0.1");
	        //设置ip黑名单,如果allow与deny共同存在时,deny优先于allow
	        servletRegistrationBean.addInitParameter("deny","192.168.0.19");
	        //设置控制台管理用户
	        servletRegistrationBean.addInitParameter("loginUsername","yi");
	        servletRegistrationBean.addInitParameter("loginPassword","123456");
	        //是否可以重置数据
	        servletRegistrationBean.addInitParameter("resetEnable","false");
	        return servletRegistrationBean;
	    }

	    @Bean
	    public FilterRegistrationBean statFilter(){
	        //创建过滤器
	        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
	        //设置过滤器过滤路径
	        filterRegistrationBean.addUrlPatterns("/*");
	        //忽略过滤的形式
	        filterRegistrationBean.addInitParameter("exclusions","*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
	        return filterRegistrationBean;
	    }
}

访问http://127.0.0.1:8080/druid/index.html

然后创建一个properties的资源文件

spring.redis.host=192.168.0.248
spring.datasource.url=jdbc:mysql://localhost/tang
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=yi
#设访问密码
spring.datasource.druid.stat-view-servlet.login-password=123456
#慢查询
spring.datasource.druid.filter.stat.slow-sql-millis=1

自定义banner运行图案

在这里插入图片描述
在resouce资源文件中创建一个banner.txt的文件,命名一定要对应不然无效

开发工具

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>
</dependencies>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值