@Component是Spring中用于描述Bean类的一个注解。当此对象由Spring创建和管理时,默认会将对象存储到池(Bean池)中。
javabean简单的讲就是2113实体类,用来封5261装对象,4102这个类里面全1653部都是属性内值,和get,set方法
@SpringBootTest 注解用于告诉spring框架,此测试类交给spring管理。
@Autowired注解描述属性时,用于告诉spring框架要为此属性注入一个值
@Scope 是Spring中用于定义Bean对象作用域的一个注解,其常用的值有singleton(整个内存有一份Bean实例,此实例何时创建与类的延迟加载特性配置有关,此实例创建以后,生命周期会由spring框架管理),prototype(每次获取都会创建新实例,此实例会在需要时创建与lazy特性无关,这个实例创建以后,不会交给spring管理,spring可以对其初始化,但不负责销毁。)等。
@Lazy注解用于描述类,其目的是告诉spring框架此类支持延迟加载,通常会配合单例作用域使用。
@PostConstruct 注解用于描述bean对象生命周期方法中的初始化方法,此方法会在对象的构造方法之后执行。
@PreDestroy 注解用于描述Bean对象生命周期方法中的销毁方法,此方法会在对象销毁之前执行(当作用域为prototype时,此方法不会执行)。
@Autowired用于描述类中属性或相关方法。spring首先要检测bean容器中是否有与属性或方法参数类型相匹配的对象,假如有并且只有一个则直接注入。其次,假如检测到有多个,还会按照@Autowired描述的属性或方法参数名查找是否有名字匹配的对象,有则直接注入,没有则抛出异常。最后,假如我们有明确要求,必须要注入类型为指定类型,名字为指定名字的对象还可以使用@Qualifier注解对其属性或参数进行描述(此注解必须配合@Autowired注解使用)。
公共的接口:javax.sql.DataSource
常见的连接池有DBCP、C3P0,DRUID,HikariCP等
用户通过DataSource对象的getConnection()方法,获取一个连接。假如池中有连接,则直接将连接返回给用户。假如池中没有连接,则会调用Dirver(驱动,由数据库厂商进行实现)对象的connect方法从数据库获取,拿到连接以后,可以将连接在池中放一份,然后将连接返回给调用方。
第一步:登录mysql > 第二步:设置控制台编码(MySql客户端)方式 > 第三步:执行goods.sql文件
HiKariCP号称是目前世界上最快的连接池,springboot工程默认推荐使用HiKariCP连接池
第一步:添加依赖。
pom.xml文件中会自动添加如下两个依赖配置:
1.mysql数据库驱动依赖。
2.spring对象jdbc支持(此时会默认帮我们下载HiKariCP连接池)。
第二步:配置连接池
application.properties文件的配置
第三步:单元测试(测试包中编写)
@Mapper是由MyBatis框架中定义的一个描述数据层接口的的注解(所有的注解只起到一个描述性的作用),用于告诉Spring框架此接口的实现由mybatis创建,并将其实现类对象存储到spring容器.
@Delete("delete from tb_goods where id=#{id}") int deleteById(Integer id);
MyBatis框架中定义SQL映射的方式有两种:SQL映射定义在我们的xml映射文件中或借助注解将其声明在接口方法上。
在GoodsDao中,定义删除方法,@Delete("delete from tb_goods where id=#{id}") int deleteById(Integer id);
xml映射文件中<mapper namespace="com.cy.pj.goods.dao.GoodsDao"><delete></></>
application.properties文件中mybatis.mapper-locations=classpath:/mapper/*/*.xml
职责为:
核心组件分析:
@Configuration注解
该类等价与XML中配置beans,相当于Ioc容器,它的某个方法头上如果注册了@Bean,就会作为这
个Spring容器中的Bean,与xml中配置的bean意思-样。
定义一个MainConfig,用@Configuration注解,那MainConfig相当于xml里的beans,里面用
@Bean注解的和xml里定义的bean等价,用<context.component- scanbase package="
XXX" /> 扫描该类,最终我们可以在程序里用@ AutoWired或@Resource注解取得用@Bean注解的
bean,和用xml先配置bean然后在程序里自动注入-样。目的是减少xml里配置。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。