笔记:整合freemarker && mybatis + abel533通用mapper + pagehelper分页助手 && 整合Redis && 整合ActivMQ && 读取核心 及 自定义配置文件
应用服务器:jetty , tomcat , websphere , weblogic , jboss
spring的组件轻,配置重
Spring Boot 简化了基于Spring的应用开发,只需要“run”就能创建一个独立的、生产级别的Spring应用
Spring Boot 主要目标是:
?为所有 Spring 的开发提供一个从根本上更快的入门体验
?开箱即用,但通过自己设置参数,即可快速摆脱这种方式。
?提供了一些大型项目中常见的非功能性特性,如内嵌服务器、安全、指标,健康检测、外部化配置等
?绝对没有代码生成,也无需 XML 配置。
A/:引导类的注解:
1.@SpringBootApplication注解里封装了以下的注解:
@Configuration:用于定义一个配置类
@EnableAutoConfiguration :Spring Boot 会自动根据你jar 包的依赖来自动配置项目。
@ComponentScan:告诉Spring 哪个packages 的用注解标识的类会被spring
自动扫描并且装入bean 容器。默认在当前的引导类所在包以及子包下扫描。(带有@controller @service @Component,@repository)
2.整合mybatis的注解
@MapperScan(basePackages = "")//mapper扫描
3.整合redies || ActiveMQ 使用注解@EnableCaching开启缓存 持久类实现序列化Serializable
4.整合ActivMQ
//创建一个目的地交给spring管理
@Bean
public Queue queue() {
return new ActiveMQQueue("itcast.queue");
}
对象jmsTemplate 发送消息
// 接受消息方法的注解
@JmsListener(destination = "itcast.queue")
B/:展示类的注解:
@RestController注解: 相当于同时使用了@Controller和@ResponseBody注解;
D/:springBoot对jsp支持不强,对模板的引擎的支持很强大:freeamrker,thymeleaf。
E/:myBatis的整合:
Mapper的接口的注解:
@Mapper:声明Mapper接口
@Select:声明这个接口所需要使用的sql,当然,有查询的注解,肯定就有增删改的注解。
F/:注解实现redis开发
1.服务类方法注解:@Cacheable注解实现缓存添加&&使用
@CacheEvict实现缓存清理
2.官网提供了三种接口RedisConnectionFactory, StringRedisTemplate 和 RedisTemplate,如下:直接注入
@Autowired
private RedisTemplateredisTemplate;
G/:整合ActivMQ
1.Spring Boot中内嵌了ActiveMQ服务,加入依赖后可以直接使用
2.controller中 直接注入:
org.springframework.jms.core.JmsTemplate; 发送者;
javax.jms.Destination; 接受者
3.使用外部的ActiveMQ 只需要在application.properties 中添加配置
H/: **
读取核心配置文件 及 自定义配置文件
1.读取核心配置:
1.1:
org.springframework.core.env.Environment
@Resource
private Environment env;
env.getProperty("~~")
env.getProperty("~~")
1.2:注解:
@Value("${~~}")
String ~~;
2.自定义配置文件
1.
自定义配置 ~~.properties
需要添加依赖spring-boot-configuration-processor
@ConfigurationProperties(prefix = "配置文件配置项的前缀")eg:jdbc.username : jdbc
@PropertySource(value="classpath:配置加载属性文件的位置" )
@Component//自动装配加入spring容器中管理
需要一个bean来封装自定义的配置文件配置项后缀-->eg:jdbc.username : String username
I/:打jar包
添加spring-boot-maven-plugin依赖;执行:packages
--> 在springBoot中的application.properties 是作为springboot默认加载的配置文件存在。
#端口配置
server.port=8888
1.#freeamrker配置:
spring.freemarker.template-loader-path=classpath:~~
spring.freemarker.suffix=.ftl
2.#连接池
spring.datasource.driverClassName=~~
spring.datasource.url=~~
spring.datasource.username=~~
spring.datasource.password=~~
3.#spring集成Mybatis环境
#pojo别名扫描包
mybatis.type-aliases-package=com.butif...
#加载Mybatis核心配置文件
mybatis.mapper-locations=classpath:mapper/*Mapper.xml
mybatis.config-location=classpath:mybatis/SqlMapConfig.xml
#配置连接池,还需要在pom.xml中加入该连接池的依赖
#spring.datasource.type=~~
4.#Redis 单机
spring.redis.host=192.168.37.161
spring.redis.port=6379
5.#Redis 集群
spring.redis.cluster.nodes=192.168.37.161:7001,
192.168.37.161:7002,192.168.37.161:7003,
192.168.37.161:7004,192.168.37.161:7005,192.168.37.161:7006
6.#ActiveMQ
spring.activemq.broker-url=tcp://192.168.37.161:61616
--> mybatis/SqlMapConfig.xml:中加载通用Mapper及分页助手的配置
--> 一个小Demo所需的依赖:
org.springframework.boot
spring-boot-starter-parent
~~
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-starter-freemarker
org.springframework.boot
spring-boot-devtools
org.mybatis.spring.boot
mybatis-spring-boot-starter
~~
mysql
mysql-connector-java
com.github.abel533
mapper
~~
com.github.pagehelper
pagehelper
~~
com.github.jsqlparser
jsqlparser
~~
org.springframework.boot
spring-boot-starter-data-redis
org.springframework.boot
spring-boot-starter-activemq
org.springframework.boot
spring-boot-configuration-processor
true
org.springframework.boot
spring-boot-maven-plugin