2月5日-备孕春招40天-第24天
①leetcode
复习71-80
链接完全二叉树二叉树每层节点(递归或层次遍历)
https://leetcode-cn.com/problems/populating-next-right-pointers-in-each-node/submissions/
链接二叉树的每层节点(使用上一层的链表结构,层次遍历)
杨辉三角形
https://leetcode-cn.com/problems/pascals-triangle/solution/
杨辉三角2
https://leetcode-cn.com/problems/pascals-triangle-ii/submissions/
三角形最小路径和
https://leetcode-cn.com/problems/triangle/submissions/
②spring注解开发
1)springIOC常用注解
用于创建对象的 (类似标签)
-
@Component : 把对象存入spring容器中
-
属性:value:指定bean的id,不写时,默认当前类名,首字母改小写
-
@Controller :一般用于表现层
-
@Service :一般用于业务层
-
@Repository :一般用于持久层
-
以上三个注解属性和component一样,
-
下面三个时spring明确提供的三层使用的注解,使得三层架构更清晰
- 用于注入数据的 (类似标签)
-
@Autowired :自动按照类型注入,只要容器中有唯一的一个bean对象类型和要注入的变量类型匹配,就可以注入成功。
-
有多个时,按照类型选择对象,在按照变量名称选择
-
出现位置:成员变量或者方法
-
此时set方法不是必须的了
-
@Qualifier : 在按照类中注入的基础上再按照名称注入,它给类成员注入时不能单独使用,给方法参数注入时可以。
-
属性:value:指定注入bean的id
-
需要配合@Autowired 使用
-
@Resource : 直接按照bean的id注入,可以独立使用
-
属性:name用于指定bean的id
-
以上三个注入只能注入其他bean类型的数据,而基本类型和String类型无法使用上述注解实现。
-
另外,集合类型的注入只能通过XML实现.
- @Value : 用于注入基本类型和String类型
-
属性:value:指定数据值,可以使用spring中的SpEl(spring的el表达式)
-
SpEl:写法:${表达式}
-
用于改变作用范围的
-
类似scope属性
-
@Scope :指定bean的作用范围
-
属性:value:值为single时为单例(默认),值为portotype时为多例
-
和生命周期有关的 了解
-
类似init-method和destroy-method
-
@PreDestroy :用于指定摧毁方法
-
@PostConstruct :用于指定初始化方法
2)xml方式和注解方式实现crud 环境搭建:
①基本持久层和业务层环境:
持久层和业务层的接口一样:
业务层的类拿一个accountDao(这个变量在后面的xml声明了是“持久层接口的实现类”,并且也把runner注入了accountDao中) 实现方法:
accountDao接口的实现类:(在业务层类的变量名称为accountDao)拿一个runner实现数据库的crud,这个runner在xml中注入了数据库信息。