标签:ext The image figure source ges 创建 发行版 控制反转
主要是实现一个控制反转,耦合性大大降低。
建立一个空的maven项目,然后pom.xml添加spring-context的依赖:
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.7.RELEASE</version>
</dependency>
package com.aca;
public class Hello {
private String str;
public void setStr(String str) {
this.str = str;
}
public String getStr() {
return str;
}
public Hello(String str){
this.str = str;
}
@Override
public String toString() {
return "Hello{" +
"str=‘" + str + ‘\‘‘ +
‘}‘;
}
}
配置文件放在resources下。
这里以xml为例
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="Hello" class="com.aca.Hello">
<constructor-arg type="java.lang.String" value="fffff"/>
</bean>
</beans>
如果有多个resource或者目录不一致,就需要import一下:
<beans>
<import resource="services.xml"/>
<import resource="resources/messageSource.xml"/>
<import resource="/resources/themeSource.xml"/>
<bean id="bean1" class="..."/>
<bean id="bean2" class="..."/>
</beans>
里面可以调用构造函数来初始化一下bean。
这里用ClassPathXmlApplicationContext 方法。
ApplicationContext context = new ClassPathXmlApplicationContext("hbean.xml");
// retrieve configured instance
Hello hello = context.getBean("Hello", Hello.class);
// hello.setStr("abc");
System.out.println(hello);
直接可以用这个bean,由xml注入。
将file- project structure 中的jdk版本选成跟本地一直,比如我这个jdk14
将build -> java complier中的两个版本选择成跟本地一致,这里是14
这两步做好以后不会报错,maven里面不需要选择版本。
xml declaration should precede all document
那是因为xml 第一行是空格了,必须<?xml 做为第一行。
标签:ext The image figure source ges 创建 发行版 控制反转
原文地址:https://www.cnblogs.com/gqdw/p/13130949.html