spring boot
设计目的:简化spring应用的初始搭建以及开发过程
spring环境的微服务:对原有技术的封装(spring + springMVC)
简化开发,提高开发效率(原ssm--->spring boot + mybatis)
自动配置,没有原来的XML配置文件
特点:
创建独立的spring应用程序
有内嵌入式的tomcat,所以无需部署WAR文件
还可以打成jar包
简化maven配置(3个依赖:父级项目依赖,web,test)
自动配置Spring
没有XML配置(包括web.xml,spring.xml等都不需要)
spring1.x:只有基础的aop和ioc,只能Xml配置
spring2.x:新加注解型配置,数据持久层用Xml,业务层用注解
spring3.X:新加java配置,javaConfig
spring boot约束:类似于maven约束,体现在包结构上
hello-springbootsrc/main/javacom.zs.domaincom.zs.daocom.zs.service入口类(必须放在子包的同级目录,和dao,service同级即可)src/main/resourceapplication.ymlapplication.yamlapplication.properties配置文件名字,必须叫application配置文件必须存放在resources下最常用.ymlsrc/test/javasrc/test/resourcetargetpom.xml
启动最简单的项目
引入maven依赖
配置入口类
配置端口号(默认8080,可选)
配置启动类,启动
注解剖析:
@SpringBootApplication(组合注解,一个注解可代替多个注解的功能)
等同与以下三个注解:@Configuration(申明当前类为配置类)@EnableAutoConfiguration(开启自动配置,开启后,比如mybatis集成的数据源对象dataSource,就不用创建了)@ComponentScan(默认扫描入口类的同级包,也可以手动指定:@ComponentScan("com.zs"))组件扫描:类上有以下注解的,类就是Spring的组件@Repository(dao)@Component(普通bean)@Service(业务)@Controller(控制)Spring申明Bean的形式1.<bean id="XXX" class="XXX"/>2.上面四种组件注解 + 包扫描(<context:component-scan>)3.javaConfig@ConfigurationClass JavaConfig{@Beanpublic User getUser(){return new User();}}
@RestController(也是组合注解)
等同与以下两个注解@ResponseBody@Controller
这个注解用在类上,所有方法都需要做json序列化,不会做视图解析
注意:
SpringBoot默认支持的视图层模板是thmyleaf,也类似于jsp,html,freemark
SpringBoot默认不支持Jsp做视图层的模板
SpringBoot与MyBatis的集成
先回忆Spring与Mybatis的集成:1.导入依赖:mybatis,druid,mybatis-spring,Spring相关2.相关配置:配置数据源 BasicDataSource、DruidDataSourceurl(动态的)DrverClassName(动态的)userName(动态的)password(动态的)配置sqlsessionFactoryBeantypeAlias(动态的) 别名datasoutce refmapperLocation(动态的) 指定Mapper文件的位置,启动时加载配置MapperScannerConfigruation 扫描dao接口,为dao创建动态代理类(动态代理:1.JDK原生;2.cglib,基于字节码的)sqlsessionFactoryBeanName refbasePackage (动态的)dao接口的位置配置声明事务datasourceTranscationMangermentdataSource ref开启事务SpringBoot与MyBatis的集成1.导入依赖:mybatis,druid数据源,数据库驱动,mybatis-springboot整合mabatis-spring-boot-starterdruidmysql-connector-javamybatis2.相关配置:使用自动配置urlDrverClassNameuserNamepasswordtypeAliasmapperLocationbasePackage
day1 over