配置一下国内源
settings.xml 内容
<?xml version="1.0" encoding="UTF-8"?>
<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- 配置国内源 -->
<!-- 重点就是这个 mirros,如果存在settings.xml 只拷贝这一段即可 -->
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central</id>
<url>http://repo.maven.apache.org/maven2</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>ansj-repo</id>
<name>ansj Repository</name>
<url>http://maven.nlpcn.org/</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
</settings>
这里的注意事项:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.2.3.RELEASE</version>
</dependency>
</dependencies>
添加之后 记得刷新一下maven
将下列内容拷贝进去
<?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
http://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>
将 User 对象注册到 Spring 中.
<beans>
<bean id="user" class="model.UserBean"></bean>
</beans>
// 方法一: 通过 ApplicationContext 来获取 Spring 的上下文对象
ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
// 方法二: 通过 BeanFactory 来获取 Spring 的上下文对象
BeanFactory beanFactory = new XmlBeanFactory(new ClassPathResource("spring-config.xml"));
// 方法一: 通过 bean 的 id 来获取
UserBean user = (UserBean) context.getBean("user");
缺点 : 需要强制类型转换
// 方法二: 通过类型获取
UserBean user = context.getBean(UserBean.class);
缺点 : 对于多个对象的同一种类型的 Bean 获取会报错
// 方法三: 通过 id+类型 来获取
UserBean user = context.getBean("user",UserBean.class);
优点 : 不需要强制类型转换, 对于多个对象的同一种类型的 Bean 获取不会报错
public static void main(String[] args) {
// 1. 获取到 Spring 的上下文对象
// 方法一: 通过 ApplicationContext 来获取 Spring 的上下文对象
ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
// 2. 通过 Spring 上下文对象来获取业务对象
// 方法一: 通过 bean 的 id 来获取
UserBean user = (UserBean) context.getBean("user");
// 3. 使用业务对象
user.printName("Spring");
}
ApplicationContext
来自 spring.context.jar
下BeanFactory
来自 spring.beans.jar
下
ApplicationContext
和 BeanFactory
都属于 Spring 下的顶级接口
ApplicationContext
属于 BeanFactory
的⼦类, BeanFactory
所有的功能 ApplicationContext
也是拥有的,
除此之外. AppicationContext
还拥有其他的 BeanFactory
没有的功能.
例如 对国际化支持、资源访问支持、以及事件传播等方面的支持
ApplicationContext
是⼀次性加载并初始化所有的 Bean 对象,所以它的启动过程可能比较慢, 但是后续执行快; ⽽ BeanFactory 是需要那个才去加载那个,因此 BeanFactory 占用系统资源更少, 启动更快, 但是后续的执行可能会更慢些.
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://wangzhi430.blog.csdn.net/article/details/125006940
内容来源于网络,如有侵权,请联系作者删除!