运行出现了空指针异常 @Autowired 注解出现的位置 AutoWired的代码 常用的就是写类上和方法上. 运行测试,刚才运行是一个空指针异常 也就是通过Autowired 这个accountDao这个对象不为空了. 注入成功原理 自动按照类型注入.IAccountDao去Spring的容器里面直接找的Value值 如果把实现类继承接口IAccountDao这里代码注释掉的话 再次运行就发现注不进去报错. 假设容器中两个实现类 复制一份改个名字 id后面也加上2 第一个实现的实现接口的代码…
@Component spring容器是一个Map结构,是由于key 和vlaue组成的 运行测试 无法运行 出错的原因↓ 第一部是解析配置文件.但是配置文件这里是空的.我们的bean里面什么对象都没有定义 需要有一行配置 spring的文档里面 搜索xmls:cont 把这一段复制过去 配置上之后,就会扫描com.itheima包下的以及它的子包的类或者接口上的注解 再次运行测试 成功运行 指定id的方式 这里对应注解的value配置的id值 value属性可省略…
注解配置和xml的配置要实现的功能都是一样的.都是要降低程序间的耦合,只不过配置的形式不一样 打包方式改成jar 加入spring 的依赖 复制之前的代码过来 复制到我们新建的工程里 resurces下面的bean.xml也粘贴过来 项目的结构 接下来要把bean.xml里面的配置都使用注解来配置 测试方法先整理 配置文件内都删除bean.xml 注解 注解分为四类…
Scope 改成多例 PreDestory和PostConstruct PreDestory和PostConstruct这两个注解了解即可 增加两个方法,分别用注解 没有执行销毁方法. 如果你一个子类看成一个父类型那么就只能调用父类的方法.我们需要把它看成是自己.然后就可以调用自己的close方法,手动释放资源. 多例的注解,注释掉.暂时不用 这样这个bean对象就是单例的了…
为什么要使用者三个注解 Controller:表现层 Service:业务层 Repository:持久层 在这里就是用Controller 运行也没问题 用Service Repository同样也是可以的,这里不再尝试 dao内配置 测试dao的注解 总结 有些时候对象不属于三层的话,可以直接用Component注解直接来创建…
@Qualifier 指定id为accountDao1 测试 如果把Autowired注释掉的话, 就会报空指针异常.就是没有注入进来 @Qualifier不能独立使用必须和Autowired配合使用 Resource Resource 总结 @Value…
数据库的链接 次数是写死的 新建配置文件 定义成员变量 value注解实现 与配置文件的key对应 PropertySource 要想让spring去读取这个配置文件 resource编译后都跑到了.工作空间类路径下 PropertySource怎么识别类路径呢? 前面加上classpath:来表示类路径 如果前面还有包的话,也可以这么配置.有包写包 没有包 这里就不用写 单词拼错了 这里的单词写错了 再次运行 总结 纯注解的方式比直接配置xml的方式反而更费事. 选择既有注解又有xml的方式…
Spring Boot常用注解总结 @RestController和@RequestMapping注解 @RestController注解,它继承自@Controller注解.4.0之前的版本,Spring MVC的组件都使用@Controller来标识当前类是一个控制器servlet.使用这个特性,我们可以开发REST服务的时候不需要使用@Controller而专门的@RestController. 当你实现一个RESTful web services的时候,response将一直通过resp…