最新springboot-笔记.docx
《最新springboot-笔记.docx》由会员分享,可在线阅读,更多相关《最新springboot-笔记.docx(460页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、springboot-springboot-笔笔记记Four short words sum up what has lifted most successful individuals above the crowd:a littlebit more.-author-datespringboot-笔记-1.1.今日大纲今日大纲1、了解 Spring 的发展2、掌握 Spring 的 java 配置方式3、学习 Spring Boot4、使用 Spring Boot 来改造购物车系统访问 了解更多springboot-笔记-2.2.SpringSpring 的发展的发展2.1.2.1.Spri
2、ngSpring1.1.x x 时代时代在 Spring1.x 时代,都是通过 xml 文件配置 bean,随着项目的不断扩大,需要将 xml 配置分放到不同的配置文件中,需要频繁的在 java 类和 xml 配置文件中切换。2.2.2.2.SpringSpring2.2.x x 时代时代随着 JDK 1.5 带来的注解支持,Spring2.x 可以使用注解对Bean 进行申明和注入,大大的减少了 xml 配置文件,同时也大大简化了项目的开发。springboot-笔记-那么,问题来了,究竟是应该使用 xml 还是注解呢?最佳实践:1、应用的基本配置用 xml,比如:数据源、资源文件等;2、业
3、务开发用注解,比如:Service 中注入 bean 等;2.3.2.3.SpringSpring3.3.x x 到到 SpringSpring4.4.x x从 Spring3.x 开始提供了 Java 配置方式,使用 Java 配置方式可以更好的理解你配置的 Bean,现在我们就处于这个时代,并且 Spring4.x 和 Spring boot 都推荐使用 java 配置的方式。springboot-笔记-3.3.SpringSpring 的的 JavaJava 配置方式配置方式Java 配置是 Spring4.x 推荐的配置方式,可以完全替代 xml 配置。3.1.3.1.Configur
4、ationConfiguration 和和 BeanBeanSpring 的 Java 配置方式是通过 Configuration 和 Bean 这两个注解实现的:1、Configuration 作用于类上,相当于一个 xml 配置文件;2、Bean 作用于方法上,相当于 xml 配置中的;springboot-笔记-3.2.3.2.示例示例该示例演示了通过 Java 配置的方式进行配置 Spring,并且实现了 Spring IOC 功能。3.2.1.3.2.1.创建工程以及导入依赖创建工程以及导入依赖4.0.0cn.itcast.springbootspringboot-笔记-itcast
5、-springboot1.0.0-SNAPSHOTwarorg.springframeworkspring-webmvc4.3.7.RELEASEspringboot-笔记-com.jolboxbonecp-spring0.8.0.RELEASEspringboot-笔记-$project.artifactIdorg.apache.maven.pluginsmaven-resources-pluginspringboot-笔记-UTF-8org.apache.maven.pluginsmaven-compiler-pluginspringboot-笔记-1.71.7UTF-8springboo
6、t-笔记-org.apache.tomcat.maventomcat7-maven-plugin2.2springboot-笔记-3.2.2.3.2.2.编写编写 UserUser 对象对象publicpublic classclass User privateprivate String username;privateprivate String password;springboot-笔记-privateprivate Integer age;publicpublic String getUsername()returnreturn username;publicpublic voidv
7、oid setUsername(String username)thisthis.username=username;springboot-笔记-publicpublic String getPassword()returnreturn password;publicpublic voidvoid setPassword(String password)thisthis.password=password;springboot-笔记-publicpublic Integer getAge()returnreturn age;publicpublic voidvoid setAge(Intege
8、r age)thisthis.age=age;springboot-笔记-3.2.3.3.2.3.编写编写 UserDAOUserDAO 用于模拟与数据库的交互用于模拟与数据库的交互publicpublic classclass UserDAO publicpublic List queryUserList()List result=newnew ArrayList();/模拟数据库的查询forfor(intint i=0;i 10;i+)springboot-笔记-User user=newnew User();user.setUsername(username_+i);user.setPa
9、ssword(password_+i);user.setAge(i+1);result.add(user);returnreturn result;springboot-笔记-3.2.4.3.2.4.编写编写 UserServiceUserService 用于实现用于实现 UserUser 数据操作业务逻辑数据操作业务逻辑Servicepublicpublic classclass UserService Autowired/注入Spring容器中的bean对象privateprivate UserDAO userDAO;publicpublic List queryUserList()spr
10、ingboot-笔记-/调用userDAO中的方法进行查询returnreturn thisthis.userDAO.queryUserList();3.2.5.3.2.5.编写编写 SpringConfigSpringConfig 用于实例化用于实例化 SpringSpring 容器容器Configuration/通过该注解来表明该类是一个Spring的配置,相当于一个xml文件springboot-笔记-ComponentScan(basePackages=cn.itcast.springboot.javaconfig)/配置扫描包publicpublic classclass Sprin
11、gConfig Bean/通过该注解来表明是一个Bean对象,相当于xml中的publicpublic UserDAO getUserDAO()returnreturn newnew UserDAO();/直接new对象做演示springboot-笔记-3.2.6.3.2.6.编写测试方法编写测试方法 用于启动用于启动 SpringSpring 容器容器publicpublic classclass Main publicpublic staticstatic voidvoid main(String args)/通过Java配置来实例化Spring容器springboot-笔记-Annota
12、tionConfigApplicationContext context=newnewAnnotationConfigApplicationContext(SpringConfig.classclass);/在Spring容器中获取Bean对象UserService userService=context.getBean(UserService.classclass);/调用对象中的方法List list=userService.queryUserList();springboot-笔记-forfor(User user:list)System.outout.println(user.getU
13、sername()+,+user.getPassword()+,+user.getPassword();/销毁该容器context.destroy();springboot-笔记-3.2.7.3.2.7.测试效果测试效果3.2.8.3.2.8.小结小结从以上的示例中可以看出,使用 Java 代码就完美的替代 xml 配置文件,并且结构更加的清晰。springboot-笔记-3.3.3.3.实战实战3.3.1.3.3.1.读取外部的资源配置文件读取外部的资源配置文件通过PropertySource 可以指定读取的配置文件,通过Value注解获取值,具体用法:Configuration/通过该注解
14、来表明该类是一个Spring的配置,相当于一个xml文件ComponentScan(basePackages=cn.itcast.springboot.javaconfig)/配置扫描包PropertySource(value=classpath:jdbc.properties)springboot-笔记-publicpublic classclass SpringConfig Value($jdbc.url)privateprivate String jdbcUrl;Bean/通过该注解来表明是一个Bean对象,相当于xml中的publicpublic UserDAO getUserDAO(
15、)returnreturn newnew UserDAO();/直接new对象做演示springboot-笔记-思考:1、如何配置多个配置文件?2、如果配置的配置文件不存在会怎么样?springboot-笔记-3.3.2.3.3.2.配置数据库连接池配置数据库连接池导入依赖:com.jolboxbonecp-springspringboot-笔记-0.8.0.RELEASE之前的 Spring xml 配置:springboot-笔记-springboot-笔记-springboot-笔记-springboot-笔记-参考 xml 配置改造成 java 配置方式:Value($jdbc.url
16、)privateprivate String jdbcUrl;Value($jdbc.driverClassName)privateprivate String jdbcDriverClassName;springboot-笔记-Value($jdbc.username)privateprivate String jdbcUsername;Value($jdbc.password)privateprivate String jdbcPassword;Bean(destroyMethod=close)publicpublic DataSource dataSource()springboot-笔
17、记-BoneCPDataSource boneCPDataSource=newnewBoneCPDataSource();/数据库驱动boneCPDataSource.setDriverClass(jdbcDriverClassName);/相应驱动的jdbcUrlboneCPDataSource.setJdbcUrl(jdbcUrl);/数据库的用户名boneCPDataSource.setUsername(jdbcUsername);springboot-笔记-/数据库的密码boneCPDataSource.setPassword(jdbcUsername);/检查数据库连接池中空闲连接的
18、间隔时间,单位是分,默认值:240,如果要取消则设置为0boneCPDataSource.setIdleConnectionTestPeriodInMinutes(60);/连接池中未使用的链接最大存活时间,单位是分,默认值:60,如果要永远存活设置为0boneCPDataSource.setIdleMaxAgeInMinutes(30);springboot-笔记-/每个分区最大的连接数boneCPDataSource.setMaxConnectionsPerPartition(100);/每个分区最小的连接数boneCPDataSource.setMinConnectionsPerPart
19、ition(5);returnreturn boneCPDataSource;springboot-笔记-思考:如何使用该 DataSource 对象?4.4.SpringSpring BootBoot4.1.4.1.什么是什么是 SpringSpring BootBootspringboot-笔记-4.2.4.2.SpringSpring BootBoot 的优缺点的优缺点4.3.4.3.快速入门快速入门4.3.1.4.3.1.设置设置 springspring bootboot 的的 parentparentspringboot-笔记-org.springframework.bootspr
20、ing-boot-starter-parent1.5.2.RELEASE说明:Spring boot 的项目必须要将 parent 设置为 springboot 的 parent,该 parent 包含了大量默认的配置,大大简化了我们的开发。springboot-笔记-4.3.2.4.3.2.导入导入 springspring bootboot 的的 webweb 支持支持org.springframework.bootspring-boot-starter-web4.3.3.4.3.3.添加添加 SpringSpring bootboot 的插件的插件springboot-笔记-org.sp
21、ringframework.bootspring-boot-maven-plugin4.3.4.4.3.4.编写第一个编写第一个 SpringSpring BootBoot 的应用的应用ControllerSpringBootApplicationConfigurationspringboot-笔记-publicpublic classclass HelloApplication RequestMapping(hello)ResponseBodypublicpublic String hello()returnreturn hello world!;publicpublic staticsta
22、tic voidvoid main(String args)springboot-笔记-SpringApplication.run(HelloApplication.classclass,args);代码说明:1、SpringBootApplication:Spring Boot 项目的核心注解,主要目的是开启自动配置。;springboot-笔记-2、Configuration:这是一个配置 Spring 的配置类;3、Controller:标明这是一个 SpringMVC 的 Controller 控制器;4、main 方法:在 main 方法中启动一个应用,即:这个应用的入口;4.3.5
23、.4.3.5.启动应用启动应用在 Spring Boot 项目中,启动的方式有两种,一种是直接 runJava Application 另外一种是通过 Spring Boot 的 Maven 插件运行。springboot-笔记-第一种:第二种:springboot-笔记-启动效果:springboot-笔记-看到如下信息就说明启动成功了:INFO 6188-mainc.i.springboot.demo.HelloApplication:StartedHelloApplication in 3.281 seconds(JVM running for3.601)springboot-笔记-4.
24、3.6.4.3.6.测试测试打开浏览器,输入地址:效果:springboot-笔记-是不是很 Easy?4.4.4.4.SpringSpring BootBoot 的核心的核心4.4.1.4.4.1.入口类和入口类和SpringBootApplicationSpringBootApplicationSpring Boot 的项目一般都会有*Application 的入口类,入口类中会有 main 方法,这是一个标准的 Java 应用程序的入口方法。springboot-笔记-SpringBootApplication 注解是 Spring Boot 的核心注解,它其实是一个组合注解:该注解主要
25、组合了以下注解:1.SpringBootConfiguration:这是 Spring Boot 项目的配置注解,这也是一个组合注解:springboot-笔记-在SpringBoot项目中推荐使用SpringBootConfiguration 替代Configuration2.EnableAutoConfiguration:启用自动配置,该注解会使Spring Boot 根据项目中依赖的 jar 包自动配置项目的配置项:a)如:我们添加了 spring-boot-starter-web 的依赖,项目中也就会引入 SpringMVC 的依赖,Spring Boot 就会自动配置 tomcat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 springboot 笔记
限制150内