logo资料库

springboot_笔记.docx

第1页 / 共128页
第2页 / 共128页
第3页 / 共128页
第4页 / 共128页
第5页 / 共128页
第6页 / 共128页
第7页 / 共128页
第8页 / 共128页
资料共128页,剩余部分请下载后查看
1.今日大纲
2.Spring的发展
2.1.Spring1.x 时代
2.2.Spring2.x时代
2.3.Spring3.x到Spring4.x
3.Spring的Java配置方式
3.1.@Configuration 和 @Bean
3.2.示例
3.2.1.创建工程以及导入依赖
3.2.2.编写User对象
3.2.3.编写UserDAO 用于模拟与数据库的交互
3.2.4.编写UserService 用于实现User数据操作业务逻辑
3.2.5.编写SpringConfig 用于实例化Spring容器
3.2.6.编写测试方法 用于启动Spring容器
3.2.7.测试效果
3.2.8.小结
3.3.实战
3.3.1.读取外部的资源配置文件
3.3.2.配置数据库连接池
4.Spring Boot
4.1.什么是Spring Boot
4.2.Spring Boot的优缺点
4.3.快速入门
4.3.1.设置spring boot的parent
4.3.2.导入spring boot的web支持
4.3.3.添加Spring boot的插件
4.3.4.编写第一个Spring Boot的应用
4.3.5.启动应用
4.3.6.测试
4.4.Spring Boot的核心
4.4.1.入口类和@SpringBootApplication
4.4.2.关闭自动配置
4.4.3.自定义Banner
4.4.4.全局配置文件
4.4.5.Starter pom
4.4.6.Xml 配置文件
4.4.7.日志
4.5.Spring Boot的自动配置的原理
4.5.1.Maven下载源码
4.5.2.源码分析
4.5.3.Spring.factories文件
4.5.4.举例:Redis的自动配置
4.5.5.条件注解
5.Spring Boot的web开发
5.1.自动配置的ViewResolver
5.2.自动配置静态资源
5.2.1.进入规则为 /
5.2.2.进入规则为*.xxx 或者 不指定静态文件路径时
5.3.自定义消息转化器
5.4.自定义SpringMVC的配置
6.改造购物车系统
6.1.创建购物车的Spring Boot工程
6.2.导入依赖
6.3.将taotao-cart中的java代码拷贝到taotao-car-springboot
6.3.1.编写Spring配置类TaotaoApplication
6.3.2.设置tomcat端口
6.3.3.读取外部的配置文件
6.3.4.设置扫描包
6.3.5.定义数据源
6.3.6.设置Mybatis和Spring Boot整合
6.3.7.设置事务管理
6.3.8.设置Redis和Spring的整合
6.3.9.设置Httpclient和Spring的整合
6.3.10.设置RabbitMQ和Spring的整合
6.3.11.设置SpringMVC的配置
6.3.12.设置dubbo的配置
6.4.编写入口类
6.4.1.启动错误1
6.4.2.Slf4j日志警告
6.4.3.解决jsp访问404的问题
6.4.4.拦截器中的UserService空指针异常
6.4.5.路径问题
7.发布到独立的tomcat中运行
7.1.工程的打包方式为war
7.2.将spring-boot-starter-tomcat的范围设置为provided
7.3.修改代码,设置启动配置
7.4.打war包
7.5.部署到tomcat
1. 今日大纲 1、 了解 Spring 的发展 2、 掌握 Spring 的 java 配置方式 3、 学习 Spring Boot 4、 使用 Spring Boot 来改造购物车系统 访问 www.mukedaba.com 了解更多 2. Spring 的发展 2.1. Spring1.x 时代 在 Spring1.x 时代,都是通过 xml 文件配置 bean,随着项目的不断扩大,需要将 xml 配置分 放到不同的配置文件中,需要频繁的在 java 类和 xml 配置文件中切换。 2.2. Spring2.x 时代 随着 JDK 1.5 带来的注解支持,Spring2.x 可以使用注解对 Bean 进行申明和注入,大大的减少 了 xml 配置文件,同时也大大简化了项目的开发。 那么,问题来了,究竟是应该使用 xml 还是注解呢? 最佳实践: 1、 应用的基本配置用 xml,比如:数据源、资源文件等; 2、 业务开发用注解,比如:Service 中注入 bean 等; 2.3. Spring3.x 到 Spring4.x 从 Spring3.x 开始提供了 Java 配置方式,使用 Java 配置方式可以更好的理解你配置的 Bean, 现在我们就处于这个时代,并且 Spring4.x 和 Spring boot 都推荐使用 java 配置的方式。 3. Spring 的 Java 配置方式 Java 配置是 Spring4.x 推荐的配置方式,可以完全替代 xml 配置。
3.1. @Configuration 和 @Bean Spring 的 Java 配置方式是通过 @Configuration 和 @Bean 这两个注解实现的: 1、@Configuration 作用于类上,相当于一个 xml 配置文件; 2、@Bean 作用于方法上,相当于 xml 配置中的; 3.2. 示例 该示例演示了通过 Java 配置的方式进行配置 Spring,并且实现了 Spring IOC 功能。 3.2.1. 创建工程以及导入依赖 4.0.0 cn.itcast.springboot itcast-springboot 1.0.0-SNAPSHOT war org.springframework spring-webmvc 4.3.7.RELEASE com.jolbox bonecp-spring 0.8.0.RELEASE ${project.artifactId}
org.apache.maven.plugins maven-resources-plugin UTF-8 org.apache.maven.plugins maven-compiler-plugin 1.7 1.7 UTF-8 org.apache.tomcat.maven tomcat7-maven-plugin 2.2 3.2.2. 编写 User 对象 public class User { private String username; private String password; private Integer age;
return password; return username; this.username = username; public String getUsername() { } public void setUsername(String username) { } public String getPassword() { } public void setPassword(String password) { } public Integer getAge() { } public void setAge(Integer age) { } this.password = password; return age; this.age = age; } 3.2.3. 编写 UserDAO 用于模拟与数据库的交互 public class UserDAO { public List queryUserList(){ List result = new ArrayList(); // 模拟数据库的查询 for (int i = 0; i < 10; i++) { User user = new User(); user.setUsername("username_" + i); user.setPassword("password_" + i); user.setAge(i + 1); result.add(user); } return result; }
} 3.2.4. 编写 UserService 用于实现 User 数据操作业务逻辑 @Service public class UserService { @Autowired // 注入Spring容器中的bean对象 private UserDAO userDAO; public List queryUserList() { // 调用userDAO中的方法进行查询 return this.userDAO.queryUserList(); } } 3.2.5. 编写 SpringConfig 用于实例化 Spring 容器 @Configuration //通过该注解来表明该类是一个Spring的配置,相当于一 个xml文件 @ComponentScan(basePackages = "cn.itcast.springboot.javaconfig") //配置扫描包 public class SpringConfig { @Bean // 通过该注解来表明是一个Bean对象,相当于xml中的 public UserDAO getUserDAO(){ return new UserDAO(); // 直接new对象做演示 } }
3.2.6. 编写测试方法 用于启动 Spring 容器 public class Main { public static void main(String[] args) { // 通过Java配置来实例化Spring容器 AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class); // 在Spring容器中获取Bean对象 UserService userService = context.getBean(UserService.class); // 调用对象中的方法 List list = userService.queryUserList(); for (User user : list) { System.out.println(user.getUsername() + ", " + user.getPassword() + ", " + user.getPassword()); } // 销毁该容器 context.destroy(); } }
3.2.7. 测试效果 3.2.8. 小结 从以上的示例中可以看出,使用 Java 代码就完美的替代 xml 配置文件,并且结构更加的清 晰。 3.3. 实战 3.3.1. 读取外部的资源配置文件 通过@PropertySource 可以指定读取的配置文件,通过@Value 注解获取值,具体用法: @Configuration //通过该注解来表明该类是一个Spring的配置,相当于一 个xml文件 @ComponentScan(basePackages = "cn.itcast.springboot.javaconfig") //配置扫描包 @PropertySource(value= {"classpath:jdbc.properties"}) public class SpringConfig { @Value("${jdbc.url}") private String jdbcUrl; @Bean // 通过该注解来表明是一个Bean对象,相当于xml中的
public UserDAO getUserDAO(){ return new UserDAO(); // 直接new对象做演示 } } 思考: 1、 如何配置多个配置文件? 2、 如果配置的配置文件不存在会怎么样? 3.3.2. 配置数据库连接池 导入依赖: com.jolbox bonecp-spring 0.8.0.RELEASE
分享到:
收藏