发表于: 2018-01-11 22:54:32
1 587
完成
1.跑通一个springdemo(https://www.cnblogs.com/huaizuo/p/4920308.html)
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId> <!--spring transaction-->
<version>4.1.6.RELEASE</version>
</dependency>
</dependencies>
</project>
HelloWorld类
public class HelloWorld {
private String name;
public void setName(String name) {
this.name = name;
}
public void printHello() {
System.out.println("Spring 3 : Hello ! " + name);
}
}
App类
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;//ClassPathXmlApplicationContext类是用来获取src下的xml文件的,在App.java有调用
public class App {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("SpringBeans.xml");
HelloWorld obj = (HelloWorld) context.getBean("helloBean");
obj.printHello();
}
}
结果
2.学习Spring的IOC原理,跑了一个demo(http://blog.csdn.net/quechao123/article/details/4427854)
(https://www.cnblogs.com/superjt/p/4311577.html),这个网站很赞,介绍IOC很通俗。
场景:现在有个磁盘输出的业务,客户端需要通过2个业务对象进行输出。
一个是通过Floppy(软盘),另一个是通过USB接口。
接口IDeviceWriter
package Spring.DependentInjection;
public interface IDeviceWriter {
public void saveToDevice();
}
软盘类
package Spring.DependentInjection;
public class FloppyWriter implements IDeviceWriter {
public void saveToDevice() {
System.out.println("储存至软盘…");//为什么结果是这个,不是另一个,都一样的接口啊???
}
}
USB类
package Spring.DependentInjection;
public class UsbDiskWriter implements IDeviceWriter {
public void saveToDevice() {
System.out.println("储存至移动硬盘…");
}
}
BusinessBean类
package Spring.DependentInjection;
public class BusinessBean {
private IDeviceWriter writer;
public void setDeviceWriter(IDeviceWriter writer) {
this.writer = writer;
}
public IDeviceWriter getDeviceWriter() {
return writer;
}
public void save() {
if (writer == null) {
throw new RuntimeException("DeviceWriter needed...");
}
writer.saveToDevice();
}
}
配置文件businessFactoryConfig.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="helloBean" class="HelloWorld">
<property name="name" value="huaizuo" />
</bean>
<bean id="floppy" class="Spring.DependentInjection.FloppyWriter"/>
<bean id="usb" class="Spring.DependentInjection.UsbDiskWriter"/>
<bean id="businessBean" class="Spring.DependentInjection.BusinessBean">
<property name="deviceWriter">
<ref bean="floppy"/>
</property>
</bean>
</beans>
客户端代码
package Spring.DependentInjection;
public class UsbDiskWriter implements IDeviceWriter {
public void saveToDevice() {
System.out.println("储存至移动硬盘…");
}
}
结果
问题
现在的情况是这几天跑通了很多Demo,但都是对照他人的例子自己修修改改,其中的很多步骤,概念,语法都没有搞清楚,只是知道哪里该出现哪个名词,方法,照着这样写没错。
我想暂时跳过这些难点,接着做任务,以后再不断回顾这些知识。但又担心这样会导致基础不牢固,难以继续。
收获
进一步了解了Spring相关知识。
计划
Spring接着了解,接着往下做任务。
评论