欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    最新SpringBoot学习资料.doc

    • 资源ID:33810927       资源大小:586KB        全文页数:24页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    最新SpringBoot学习资料.doc

    精品资料SpringBoot学习资料.SpringBoot一、 Spring介绍1.1、SpringBoot简介在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复黏贴的配置有一些厌烦?那么您就不妨来试试使用Spring Boot来让你更易上手,更简单快捷地构建Spring应用!Spring Boot让我们的Spring应用变的更轻量化。比如:你可以仅仅依靠一个Java类来运行一个Spring引用。你也可以打包你的应用为jar并通过使用java -jar来运行你的Spring Web应用。Spring Boot的主要优点:为所有Spring开发者更快的入门开箱即用,提供各种默认配置来简化项目配置内嵌式容器简化Web项目没有冗余代码生成和XML配置的要求本章主要目标完成Spring Boot基础项目的构建,并且实现一个简单的Http请求处理,通过这个例子对Spring Boot有一个初步的了解,并体验其结构简单、开发快速的特性。1.2、系统要求:Java 7及以上Spring Framework 4.1.5及以上本文采用Java 1.8.0_73、Spring Boot 1.3.2调试通过。二、快速入门2.1、创建一个Maven工程名为”springboot-helloworld” 类型为Jar工程项目2.2、pom文件引入依赖<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.3.3.RELEASE</version></parent><dependencies> <!SpringBoot web 组件 -><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>spring-boot-starter-parent作用在pom.xml中引入spring-boot-start-parent,spring官方的解释叫什么stater poms,它可以提供dependency management,也就是说依赖管理,引入以后在申明其它dependency的时候就不需要version了,后面可以看到。spring-boot-starter-web作用springweb 核心组件spring-boot-maven-plugin作用 如果我们要直接Main启动spring,那么以下plugin必须要添加,否则是无法启动的。如果使用maven 的spring-boot:run的话是不需要此配置的。(我在测试的时候,如果不配置下面的plugin也是直接在Main中运行的。)2.3、编写HelloWorld服务创建package命名为com.itmayiedu.controller(根据实际情况修改)创建HelloController类,内容如下RestControllerEnableAutoConfigurationpublic class HelloController RequestMapping("/hello")public String index() return "Hello World"public static void main(String args) SpringApplication.run(HelloController.class, args);2.4、RestController在上加上RestController 表示修饰该Controller所有的方法返回JSON格式,直接可以编写Restful接口2.5、EnableAutoConfiguration注解:作用在于让 Spring Boot   根据应用所声明的依赖来对 Spring 框架进行自动配置        这个注解告诉Spring Boot根据添加的jar依赖猜测你想如何配置Spring。由于spring-boot-starter-web添加了Tomcat和Spring MVC,所以auto-configuration将假定你正在开发一个web应用并相应地对Spring进行设置。2.6 SpringApplication.run(HelloController.class, args); 标识为启动类2.6.1SpringbootApplication 使用SpringbootApplication注解  可以解决根类或者配置类(我自己的说法,就是main所在类)头上注解过多的问题,一个SpringbootApplication相当于Configuration,EnableAutoConfiguration和 ComponentScan 并具有他们的默认属性值SpringBootApplication /等同于 Configuration EnableAutoConfiguration ComponentScanpublicclass Application        public static void main(String args)         SpringApplication.run(Application.class, args);     2.7、SpringBoot启动方式1Springboot默认端口号为8080RestControllerEnableAutoConfigurationpublic class HelloController RequestMapping("/hello")public String index() return "Hello World"public static void main(String args) SpringApplication.run(HelloController.class, args);启动主程序,打开浏览器访问http:/localhost:8080/index,可以看到页面输出Hello World2.8、SpringBoot启动方式2ComponentScan(basePackages = "com.itmayiedu.controller")-控制器扫包范围ComponentScan(basePackages = "com.itmayiedu.controller")EnableAutoConfigurationpublic class App public static void main(String args) SpringApplication.run(App.class, args);三、 Web开发3.1、静态资源访问在我们开发Web应用的时候,需要引用大量的js、css、图片等静态资源。默认配置Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则:/static/public/resources/META-INF/resources举例:我们可以在src/main/resources/目录下创建static,在该位置放置一个图片文件。启动程序后,尝试访问http:/localhost:8080/D.jpg。如能显示图片,配置成功。3.2、全局捕获异常ExceptionHandler 表示拦截异常· ControllerAdvice 是 controller 的一个辅助类,最常用的就是作为全局异常处理的切面类· ControllerAdvice 可以指定扫描范围· ControllerAdvice 约定了几种可行的返回值,如果是直接返回 model 类的话,需要使用 ResponseBody 进行 json 转换o 返回 String,表示跳到某个 viewo 返回 modelAndViewo 返回 model + ResponseBodyControllerAdvicepublic class GlobalExceptionHandler ExceptionHandler(RuntimeException.class)ResponseBodypublic Map<String, Object> exceptionHandler() Map<String, Object> map = new HashMap<String, Object>();map.put("errorCode", "101");map.put("errorMsg", "系統错误!");return map;3.3、渲染Web页面渲染Web页面在之前的示例中,我们都是通过RestController来处理请求,所以返回的内容为json对象。那么如果需要渲染html页面的时候,要如何实现呢?模板引擎在动态HTML实现上Spring Boot依然可以完美胜任,并且提供了多种模板引擎的默认配置支持,所以在推荐的模板引擎下,我们可以很快的上手开发动态网站。Spring Boot提供了默认配置的模板引擎主要有以下几种:· Thymeleaf· FreeMarker· Velocity· Groovy· MustacheSpring Boot建议使用这些模板引擎,避免使用JSP,若一定要使用JSP将无法实现Spring Boot的多种特性,具体可见后文:支持JSP的配置当你使用上述模板引擎中的任何一个,它们默认的模板配置路径为:src/main/resources/templates。当然也可以修改这个路径,具体如何修改,可在后续各模板引擎的配置属性中查询并修改。3.4、3.4.1、pom文件引入:<!- 引入freeMarker的依赖包. -><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId></dependency>3.4.2、后台代码在src/main/resources/创建一个templates文件夹,后缀为*.ftlRequestMapping("/index")public String index(Map<String, Object> map) map.put("name","美丽的天使.");return "index"3.4.3、前台代码<!DOCTYPE html><html><head lang="en"><meta charset="UTF-8" /><title></title></head><body> $name</body> </html>3.4.4、Freemarker其他用法RequestMapping("/index")public String index(Map<String, Object> map) map.put("name","#蚂蚁课堂#"); map.put("sex",1); List<String> userlist=new ArrayList<String>(); userlist.add("余胜军"); userlist.add("张三"); userlist.add("李四"); map.put("userlist",userlist); return "index"<!DOCTYPE html><html><head lang="en"><meta charset="UTF-8" /><title>首页</title></head><body> $name <#if sex=1> 男 <#elseif sex=2> 女 <#else> 其他 </#if> <#list userlist as user> $user </#list></body> </html>3.4.5、Freemarker配置新建application.properties文件#FREEMARKER (FreeMarkerAutoConfiguration)#spring.freemarker.allow-request-override=falsespring.freemarker.cache=truespring.freemarker.check-template-location=truespring.freemarker.charset=UTF-8spring.freemarker.content-type=text/htmlspring.freemarker.expose-request-attributes=falsespring.freemarker.expose-session-attributes=falsespring.freemarker.expose-spring-macro-helpers=false#spring.freemarker.prefix=#spring.freemarker.request-context-attribute=#spring.freemarker.settings.*=spring.freemarker.suffix=.ftlspring.freemarker.template-loader-path=classpath:/templates/#comma-separated list#spring.freemarker.view-names= # whitelist of view names that can be resolved3.5、使用JSP渲染Web视图3.5.1、pom文件引入以下依赖<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.3.3.RELEASE</version></parent><dependencies><!- SpringBoot 核心组件 -><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></dependency><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId></dependency></dependencies>3.5.2、在application.properties创建以下配置spring.mvc.view.prefix=/WEB-INF/jsp/spring.mvc.view.suffix=.jsp3.5.3、后台代码Controllerpublic class IndexController RequestMapping("/index")public String index() return "index"四、 数据访问4.1、springboot整合4.1.1 pom文件引入<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.2.RELEASE</version></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.21</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>4.1.2 application.properties新增配置spring.datasource.url=jdbc:mysql:/localhost:3306/testspring.datasource.username=rootspring.datasource.password=rootspring.datasource.driver-class-name=com.mysql.jdbc.Driver4.1.3 UserService类Servicepublic class UserServiceImpl implements UserService Autowiredprivate JdbcTemplate jdbcTemplate;public void createUser(String name, Integer age) System.out.println("ssss");jdbcTemplate.update("insert into users values(null,?,?);", name, age);4.1.4 App类ComponentScan(basePackages = "com.itmayiedu")EnableAutoConfigurationpublic class App public static void main(String args) SpringApplication.run(App.class, args);注意: spring-boot-starter-parent要在1.5以上4.2、springboot整合mybatis4.2.1、pom文件引入<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.3.2.RELEASE</version><relativePath /> <!- lookup parent from repository -></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.1.1</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.21</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>4.2.2、配置文件引入spring.datasource.url=jdbc:mysql:/localhost:3306/testspring.datasource.username=rootspring.datasource.password=rootspring.datasource.driver-class-name=com.mysql.jdbc.Driver4.2.3、Mapper代码public interface UserMapper Select("SELECT * FROM USERS WHERE NAME = #name")User findByName(Param("name") String name);Insert("INSERT INTO USERS(NAME, AGE) VALUES(#name, #age)")int insert(Param("name") String name, Param("age") Integer age);4.2.4、启动方式ComponentScan(basePackages = "com.itmayiedu")MapperScan(basePackages = "com.itmayiedu.mapper")SpringBootApplicationpublic class App public static void main(String args) SpringApplication.run(App.class, args);4.3、springboot整合springjpa4.3.1 pom文件引入依赖<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.4.2.RELEASE</version></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.21</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>4.3.2 创建User实体类Entity(name = "users")public class User IdGeneratedValueprivate Integer id;Columnprivate String name;Columnprivate Integer age; / .get/set方法4.3.3 创建UserDaopublic interface UserDao extends JpaRepository<User, Integer> 4.3.4 创建IndexControllerRestControllerpublic class IndexController Autowiredprivate UserDao userDao;RequestMapping("/index")public String index(Integer id) User findUser = userDao.findOne(id);System.out.println(findUser.getName();return "success"4.3.5 启动项目ComponentScan(basePackages = "com.itmayiedu" )EnableJpaRepositories(basePackages = "com.itmayiedu.dao")EnableAutoConfigurationEntityScan(basePackages = "com.itmayiedu.entity")public class App public static void main(String args) SpringApplication.run(App.class, args);4.4、springboot整合多数据源同学们思考下,你们在项目中有使用到多数据源吗?4.4.1配置文件中新增两个数据源spring.datasource.test1.driverClassName = com.mysql.jdbc.Driverspring.datasource.test1.url = jdbc:mysql:/localhost:3306/test01?useUnicode=true&characterEncoding=utf-8spring.datasource.test1.username = rootspring.datasource.test1.password = rootspring.datasource.test2.driverClassName = com.mysql.jdbc.Driverspring.datasource.test2.url = jdbc:mysql:/localhost:3306/test02?useUnicode=true&characterEncoding=utf-8spring.datasource.test2.username = rootspring.datasource.test2.password = root4.4.2配置文件中新增两个数据源Configuration / 注册到springboot容器中MapperScan(basePackages = "com.itmayiedu.user1", sqlSessionFactoryRef = "test1SqlSessionFactory")public class DataSource1Config /* * * methodDesc: 功能描述:(配置test1数据库) * author: 余胜军 * param: return * createTime:2017年9月17日 下午3:16:44 * returnType:return DataSource * copyright:上海每特教育科技有限公司 * QQ:644064779 */Bean(name = "test1DataSource")PrimaryConfigurationProperties(prefix = "spring.datasource.test1")public DataSource testDataSource() return DataSourceBuilder.create().build();/* * * methodDesc: 功能描述:(test1 sql会话工厂) * author: 余胜军 * param: param * dataSource * param: return * param: throws * Exception * createTime:2017年9月17日 下午3:17:08 * returnType:param dataSource * returnType:return * returnType:throws Exception SqlSessionFactory * copyright:上海每特教育科技有限公司 * QQ:644064779 */Bean(name = "test1SqlSessionFactory")Primarypublic SqlSessionFactory testSqlSessionFactory(Qualifier("test1DataSource") DataSource dataSource)throws Exception SqlSessionFactoryBean bean = new SqlSessionFactoryBean();bean.setDataSource(dataSource);/bean.setMapperLocations(/new PathMatchingResourcePatternResolver().getResources("classpath:mybatis/mapper/test1/*.xml");return bean.getObject();/* * * methodDesc: 功能描述:(test1 事物管理) * author: 余胜军 * param: param * dataSource * param: return * param: throws * Exception * createTime:2017年9月17日 下午3:17:08 * returnType:param dataSource * returnType:return * returnType:throws Exception SqlSessionFactory * copyright:上海每特教育科技有限公司 * QQ:644064779 */Bean(name = "test1TransactionManager")Primarypublic DataSourceTransactionManager testTransact

    注意事项

    本文(最新SpringBoot学习资料.doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开