SpringBoot基础

什么是SpringBoot?

Spring Boot可以轻松创建独立的,生产级的基于Spring的应用程序,您可以“运行”。我们对Spring平台和第三方库有自己的看法,所以您可以尽量少用大惊小怪。大多数Spring Boot应用程序只需要很少的Spring配置。

为什么要SpringBoot?

  • 创建独立的Spring应用程序
  • 直接嵌入Tomcat,Jetty或Undertow(无需部署WAR文件)
  • 提供自己的’入门’POM来简化你的Maven配置
  • 尽可能自动配置Spring
  • 提供生产就绪功能,如指标,运行状况检查和外部配置
  • 绝对不会生成代码,并且不需要XML配置

<!--more-->

如何使用SpringBoot?

SpringBoot 配置起来简单的实在不能再简单了

首先 加入SpringBoot依赖

<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>1.4.0.RELEASE</version>
   <relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
		<!--web项目必须引用的依赖-->
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!--去除logback依赖包 不然和log4j2冲突-->
    <exclusions>
      <exclusion>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-logging</artifactId>
      </exclusion>
    </exclusions>
  </dependency>
  </dependencies>

<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<dependencies>
					<!-- spring热部署 -->
					<dependency>
						<groupId>org.springframework</groupId>
						<artifactId>springloaded</artifactId>
						<version>1.2.6.RELEASE</version>
					</dependency>
				</dependencies>
			</plugin>
		</plugins>
	</build>

创建启动类

@SpringBootApplication
public class DemoApplication {

   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}

其实到此位置SpringBoot 基本配置已经结束了SpringBoot自带Spring MVC功能我们不需要配置

但是我们还需要配置一个DAO层 SpringBoot 推荐使用内置的JAP 但是我还是喜欢用MyBatis

两者正好是不同的风格 JAP 有点像Hibernate 需要ORM映射 不需要写SQL MyBatis则需要手动写SQL

不管是用什么 首先配置数据源

创建一个叫Appilcation.properties文件 在这里配置一些基本配置 当然Spring建议使用yml格式的配置文件

我们就创建一个 Application.yml的文件

配置数据源

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/test
    data-username: root
    data-password: yh
    #-----------以下内容非必填---------------
    #下面为连接池的补充设置,应用到上面所有数据源中
    dbcp:
      #初始化大小
      initial-size: 5
      #最小
      min-idle: 5
      #最大
      max-active: 20
      #配置获取连接等待超时的时间
      max-wait: 6000
      # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
      time-between-eviction-runs-millis: 60000
      # 配置一个连接在池中最小生存的时间,单位是毫秒
      min-evictable-idle-time-millis: 30000
      validation-query: select 1 from dual
      test-while-idle: true
      test-on-borrow: false
      test-on-return: false
      #打开PSCache,并且制定每个连接上PCCache的大小
      pool-prepared-statements: true
      # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
      filters: stat,wall,log4j
      # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
      connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
      # 合并多个DruidDataSource的监控数据
      useGlobalDataSourceStat: true
      #---------------------------------------

首先使用JAP 查询数据库

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

加入依赖

jpa:
  hibernate:
    #每次启动创建一个新的表,如果有删掉
    #ddl-auto: create
    #如果没有创建,有的话不删除
    ddl-auto: update
  show-sql: true

在Application.yml文件加入

好了,JAP配置完成了如何使用?

public interface HibernateDao  extends JpaRepository<HibernateCreateTest,Integer>{
}
@Autowired
UserDao userDao;
/**
 * 增删改查.....
 */
@GetMapping("/userByid")
public String selUserById(Integer id){
        return userDao.selUserById(id).getAccount();
}

配置MyBatis

<dependency>
   <groupId>org.mybatis.spring.boot</groupId>
   <artifactId>mybatis-spring-boot-starter</artifactId>
   <version>1.3.1</version>
</dependency>

Application.yml加入

mybatis:
  #mapper文件的位置
  mapper-locations: classpath:Mybatis-sql/*.xml
  #为实体对象所在的包,跟数据库表一一对应
  type-aliases-package: springbootdemo.entity
  configuration:
    log-impl: org.apache.ibatis.logging.log4j2.Log4j2Impl

其他的都和以前Mybatis使用方法一致

如果你定一个Controller访问JSP 发现访问不到,也许不是你代码出问题了,是SpringBoot默认不支持Jsp建议使用模板

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

thymeleaf是SpringBoot 推荐使用模板其中之一 当然还有很多 这里就不一一介绍了

@Controller
@RequestMapping("/user")
public class UserController {

   Log log = LogFactory.getLog(getClass());

    @RequestMapping("/testJsp")
    public String testJsp(Model model){
        model.addAttribute("name", "Dear");
       return "index";
    }
}
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Spring Boot and Thymeleaf example</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</head>
<body>
<h3>Spring Boot and Thymeleaf</h3>
<p th:text="'Hello!, ' + ${name} + '!'" >3333</p>
</body>
</html>

当然如果你执意要使用JSP当然也是可以的

加入依赖

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<!-- to enable use of jsp for view -->
<dependency>
   <groupId>org.apache.tomcat.embed</groupId>
   <artifactId>tomcat-embed-jasper</artifactId>
</dependency>

<dependency>
   <groupId>javax.servlet</groupId>
   <artifactId>jstl</artifactId>
   <version>1.2</version>
</dependency>

配置文件

spring:
   mvc:
    view:
      prefix:
      suffix:

SpringBoot还有一些 常用的其他配置

server:
  port: 8089
  context-path: /demo

定义tomcat端口和访问路径

转载于:https://my.oschina.net/yanhaohub/blog/3065921

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值