这是一个繁星满天的一个普通的夜,
是的,我在看Spring IOC,
IOC Inversion of Control 控制反转 具体参见 廖雪峰 | IOC原理
我这里直接上代码了。
俗话说,
站在巨人的肩膀上看世界,
世界或许更简单,
不错,
我今天就站在廖雪峰大爷的肩膀上,
展望我的Spring处女程序,
这感觉不是一般的特别!
言归正传。
场景:
我这里要写的是一个登录注册建议的邮箱程序(借鉴廖雪峰大爷),
其中,涉及两个模块,
一个是MailService ,用于提示用户的登录、注册状态。
另一个是UserService,顾名思义,用户用来登录、注册、或者操纵数据库。
我这篇文章,是站在廖雪峰大爷的肩膀上,写了一些自己的东西,有了一点自己的思考而已,看这篇之前,最好还是先看看这个连接文章 廖雪峰 | IOC原理 。
关于Spring IOC 的故事,就在MailService与UserService之间展开了,
至于后来的dataSource这个小三,则是复现了MailService与UserService之间的操作而已(同时被注入)。
目录结构【取自廖雪峰大爷处】:
规范步骤:
1. 在pom.xml中引入相关依赖,并配置常规的编码等方面的基本信息
- Spring-context
- c3p0
- mysql-connector-java
2. 写一个MailService (提示用户何实何地对邮箱做了什么,比如夜里两点半在马达加斯加登录了邮箱这类提示信息)
再写一个UserService (实现用户做了什么,比如登录注册邮箱)
还需要写一个User类,毕竟需要使用到这个东西。
3. 站在2中已完成的MailService与UserService的基础上,完成application.xml。
4.最后写我们的Main方法,执行我们的程序。
具体的代码:
1.pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.itranswarp.learnjava</groupId>
<artifactId>spring-ioc-appcontext</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding&