ipad4,新乡,嘉兴天气-美品攻略,全球好物,我们造

admin 4周前 ( 05-22 03:55 ) 0条评论
摘要: 其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。...

SpringBoot简介

Spring Boot是由Pivotal团队供给的全新结构,其规划意图是用来简化新Spring运用的初始建立以及开发进程。该结构运用了特定的办法来进行装备,从而使开发人员不再需求界说样板化的装备。经过这种办法,Boot致力于在蓬勃发展的快速运用开发范畴(rapid application devipad4,新乡,嘉兴气候-美品攻略,全球好物,咱们造elopment)成为领导者。

Spring Boot让咱们的Spring运用变的更轻量化。比方:你能够只是依托一个Java类来运转一个Spring引证。你也能够打包你的运用为jar并经过运用java -jar来运转你的Spring Web运用。

Spring Boot的首要长处:

  • 为一切Spring开发者更快的入门
  • 开箱即用,供给各种默许装备来简化项目装备
  • 内嵌式容器简化Web项目
  • 没有冗余代码生成和XML装备的要求

鄙人面的代码中只需有必定根底会发现这写代码实例十分简略关于开发者来说几乎是“零装备”。

SpringBoot运转

开发工具:jdk8,IDEA,STS,eclipse(需求宣化上人讲冯冯居士装置STS插件)这些都支撑快速发动SpringBoot工程。我这儿就不快速发动了,运用maven工程。学习任何一项技能首要就要通晓HelloWord,那咱们来跑个初体验。

首要只用maven咱们创立的maven工程直接以jar包的办法创立就行了,首要咱们来引进SpringBoot的依靠

首要咱们需求依靠SpringBoot父工程,这是每个项目中有必要要有的。

org.springframework.boot

spring-boot-passionhdstarter-parent

2.0.5.RELEASE

UTF-8

UTF-8

1.8

咱们发动WEB模块当然有必要要引进WEB模块的依靠

org.springframework.boot

spring-boot-starter-wipad4,新乡,嘉兴气候-美品攻略,全球好物,咱们造eb

咱们需求编写一个SpringBoot发动类,SpringbootFirstExperienceApplication.java

@Spri乡野春潮孙易ngBootApplication

public class SpringbootFirstExperienceApplication {

public static void main(String[] args) {

SpringApplication.run(SpringbootFirstExperienceApplication.class, args);

}

}

到了这食人尸乐队里咱们直接把他当成SpringMVC来运用就行了,不过这儿默许是不支撑JSP官方引荐运用模板引擎,后边会写到整合JSP。这儿我就不写Controlle家法板子r了。

@SpringBootApplica曾庆帅tion:之前用户运用的是3个注解注解他们的main类。分别是@Configuration,@EnableAutoConfiguration,@ComponentScan。因为这些注解一般都是一同运用,spring boot供给了一个一致的注解@SpringBootApplication。

注意事项:咱们运用这个注解在不指定扫描途径的情况下,SpringBoot只能扫描到和SpringbootFirstExperienceApplication同包或子包的Bean;

SpringBoot目录结构

在src/main/resources中咱们能够有几个文件夹:

  • templates:用来存储模板引擎的,Thymeleaf,FreeMarker,Velocity等都是不错的挑选。
  • static:存储一些静态资源,css,js等
  • public:在默许SpringBoot工程中是不生成这个文件夹盈月记事的,可是在主动装备中咱们能够有这个文件夹用来寄存公共的资源(html等)
  • application.properties:这个文件姓名是固定的,SpringBoot发动会默许加载这些装备在这儿面能够装备端口号,拜访途径,数据库衔接信息等等。这个文件十分重要,当然官方中推出了一个yml格局这是十分强壮的数据格局。

整合JdbcTemplate

引进依靠:

org.springframework.boot

spring-boot-starter-parent

1.5.2.RELEASE

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-jdbc

mysql

mysql-connector-java

org.springframework.boot

spring-boot-starter-test

test

装备application.properties,尽管说是“零装备”可是这些必要的肯定要指定,不然它怎样知道连那个数据库?

spring.datasource.url=jdbc:mysql://localhost:3306/mybatis

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.飞笛智投driver-class-name=com.mysql.jdbc.Driver

运用办法:

@Service

public class EmployeeService {

@Autowiripad4,新乡,嘉兴气候-美品攻略,全球好物,咱们造ed

private JdbcTemplate jdbcTemplaipad4,新乡,嘉兴气候-美品攻略,全球好物,咱们造te;

public boolean saveEmp(String name,String email,String gender){

String sql = "insert into tal_employee values(null,?,?,?)";

int result = jdbcTemplate.update(sql, name,email,gender);

System.out.println("result : " + result);

return result > 0 ? true:false;

}

}

@RestController

public class EmployeeController {

@Autowired

private EmployeeService employeeService;

@RequestMapping("/save")

public String insert(String name,String email,String gender){

boolean result = employeeService.saveEmp(name, email, gender);

if(result){

return "success";

}

return "error";

}

}

这儿咱们直接回来一个文本格局。

@RestController

在上面的代码中咱们运用到这个注解修正咱们的Controller类而是不运用@Controller这个注解,其实中包含了@Controller,一起包含@ResponseBody已然润饰在类上面那么便是表明这个类中一切的办法都是@ResponseBody所以在这儿ipad4,新乡,嘉兴气候-美品攻略,全球好物,咱们造咱们回来字符串在前台咱们会以文本格局展现,假如是目标那么它会主动转换成json格局回来。

整合JSP

在创立整合JSP的时分指定要选WAR,必定要选WAR。

引进依靠:

org.springframework.boot

spring-boot-starter-parent

1.5.2.RELEASE

org.springframework.boot

spring-boot-starter-web

org.spr女黑人ingframework.boot

spring-boot-starter-tomcat

org.apache.tomcat.embed

tomcat-embed-jasper

然后咱们只需求装备企图解析器途径就能够了。

#装备企图解析器前缀

spring.mvc.view.prefix=/WEB-INF/views/

#装备企图解析器后缀

spring.mvc.view.suffix=.jsp

整合JPA

相同的整合JPA咱们只需求发动咱们SpringBoot现已集成好的模块即可。

增加依靠:

org.springframework.boot

spring-boot-starter-parent

1.5.2.RELEASE

org.springframework和尚偷肾.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-data-jpa

org.springframework.boot

spring-boot-starter-test

test

mysql

mysql-c古谱虫王蟋蟀排名onnector-java

发动JPA组件后直接装备数据库衔接信息就能够运用JPA功用。

Application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/mybatis

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

实体类:Employee.java

@Table(name="tal_employee")

@Entity

public class Employee implements Serializable{

@Id

@GeneratedValue(strategy = GenerationType.AUTO)

private Integer id;

@Column(name="last_Name")

private String lastName;

private String email;

private String gender;

//get set 省掉

}

EmployeeDao接口:

public interface Em裸扣门ployeeDao extends JpaRepository{

}

EmployeeController.java:

@Controller

public class EmployeeController {

@Autowired

private EmployeeDao employeeDao;

@ResponseBody

@RequestMapping("/emps")

public List getEmployees(){

List employees = employeeDao.findAll();

System.out.println(employees);

return employe天龙同人之李秋水es;

}

}

整合MyBatis

引进依靠:

org.springframework.boot

spring-boot-starter-parent

1.5.2.RELEASE

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-jdbc

org.springframework.boot

spring-boot-starter-logging

org.mybatis.spring.boot

mybatis-spring-boot-starter

1.2.2

org.springframework.boot

spring-boot-starter-test

test

mysql

mysql-connector-java

装备application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/mybatis

spring.datasource.username=root

spring.datasource.password=root

spring.da爱鲁tasource.driver-class-name=com.mysql.jdbc.Driver

##############datasource classpath 数据衔接池地址##############

#spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

#指定咱们的mapper.xml方位

mybatis.mapper-locations=classpath:com/simple/springbooipad4,新乡,嘉兴气候-美品攻略,全球好物,咱们造t/mybatis/dao/mapper/*.xml

#entity.class 指定咱们实体类地点包方位

mybatis.type-aliases-package=com.simple.springboot.mybatis.entity

当然这儿还有许多特点假如想要运用能够参阅官方文档。到了这儿其他就不王立群读史记全集目录写了,把他当作SSM运用就ok。

注意事项:在咱们的Dao层接口中必定要在类上加上注解@Mapper不然无法扫描到。

AOP功用运用

在咱们SpringBoot中运用AOP十分简略。

package com.simple.springboot.aop;鹰王和鼹鼠

import org.aspectj.lang.ProceedingJoinPoint;

import org.aspectj.lang.annotation.After;

import org.aspectj.lang.annotation.AfterThrowing;

import org.aspectj.lang.annotation.Around;

import org.aspectj.lang.annotation.Aspect;

import org.aspectj.lang.annotation.Before;

import org.aspectj.lang.annotation.Pointcutipad4,新乡,嘉兴气候-美品攻略,全球好物,咱们造;

import org.springframework.stereotype.Component;

@Aspect

@Component

public class SpringBootAspect {

/**

* 界说一个切入点

* @author:SimpleWu

* @Dat青鲷e:2018年10月12日

*/

@Pointcut(value="execution(* com.simple.springboot.util.*.*(..))")

public void aop(){}

/**

* 界说一个前置告诉

* @author:SimpleWu

* @Date:2018年10月12日

*/

@Before("aop()")

public void aopBefore(){

System.out.println("前置告诉 SpringBootAspect....aopBefore");

}

/**

* 界说一个后置告诉

* @author:SimpleWu

* @Date:2018年10月12日

*/

@After("aop()")

public void aopAfter(){

System.out.println("后置告诉 SpringBootAspect....aopAfter");

}

/**

* 处理未处理的JAVA反常

* @author:SimpleWu

* @Date:2018年10月12日

*/

@AfterThrowing(pointcut="aop()",throwing="e")

public void exception(Exception e){

System.out.println("反常告诉 SpringBootAspect...exception .." + e);

}

/**

* 盘绕告诉

* @author:SimpleWu

* @throws Throwable

* @Date:2018年10月12日

*/

@Around("aop()")

public void around(ProceedingJoinPoint invocation) throws Throwable{

System.out.println("SpringBootAspect..盘绕告诉 Before");

invocation.proceed();

System.out服装收银体系.println("SpringBootAspect..盘绕告诉 After");

}

}

使命调度

SpringBoot现已集成好一个调度功用。

@Component

public class ScheduledTasks {

private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");

/**

* 使命调度,每隔5秒履行一次

* @author:SimpleWu

* @Date:2018年10月12日

*/

@Scheduled(fixedRate = 1000)

public void reportCurrentTime() {

System.out.println("现在时刻:" + dateFormat.format(new Date()));

}

}

然后发动的时分咱们有必要要在主函数类上加上注解:@EnableScheduling(翻译过来便是敞开调度)

/**

* SpringBoot运用使命调度

* @EnableScheduling标示程序敞开使命调度

* @author :SimpleWu

* @Date:2018年10月12日

*/

@SpringBootApplication

@EnableScheduling

public class App {

public static void main(String[] args) {

SpringApplication.run(App.class, args);

}

}

最终:小编为我们预备了一些适合于1-5年以上开发经历的java程序员面试涉及到的绝大部分面试题及答案做成了文档和学习笔记文件以及架构视频神兽托儿所材料免费共享给我们(包含Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技能材料),期望能够协助到我们。

获取办法:请我们转发重视并私信小编(学习)

即可获取你需求的各类材料。

文章版权及转载声明:

作者:admin本文地址:http://www.meipinw.com/articles/1266.html发布于 4周前 ( 05-22 03:55 )
文章转载或复制请以超链接形式并注明出处美品攻略,全球好物,我们造