初识Spring

本文介绍了Spring作为轻量级IoC和AOP容器框架的基础知识,包括JavaBean的概念和作用。文章详细讲述了学习Spring的步骤,如安装IntelliJ IDEA,连接MySQL数据库,使用Eclipse安装Spring插件,创建工程,以及理解IOC容器的使用方式和XML配置。文中重点讨论了从容器中获取值的两种方法、懒加载和范围的概念、以及扫描机制。同时提醒读者在IDEA中连接数据库时需添加依赖,并分享了一些开发中的实用技巧和快捷键。

Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器开源框架

而JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,set和get方法获取。众所周知,属性名称符合这种模式,其他Java 类可以通过自省机制(反射机制)发现和操作这些JavaBean 的属性。

需要的包:

今天主要学习了

1.安装IntelliJ IDEA工具

2.在IDEA文件中链接mysql数据库

3.spring框架的特别标签

4.安装spring插件进eclipes(自动生成xml前缀)

5.如何创建工程

6.引用IOC容器的几种方式和XML文件的配置

三个值得注意的地方

知识点一:两种从容器中获取值的方法

case1:直接从 类中获取

/*Person p=context.getBean(Person.class);
        System.out.println(p);*/

case 2:用id/name 来获取

/*Object obj=context.getBean("p");
        System.out.println(obj);
        obj=context.getBean("p");
        System.out.println(obj);*/

 

知识点二:懒加载和范围,name与id的区分

ps:知识点2用于xml配置

懒加载:不是马上创建实例

范围scope:指定在范围内创建对象

<bean id="p" class="com.jd.vo.Person" lazy-init="false" scope="singleton"></bean>

 

name:可以有多个值 VS     id:只是唯一的

知识点3:扫描

 <context:component-scan base-package="com.jd.vo"></context:component-scan>

扫描包里的所有类,不是每个类都会实例化

只有加上三个注解:@componet @service @controller才可以成功实例化

 

注意:在IDEAL连接数据库时候必须要添加依赖

<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.29</version>
</dependency>

 

 

 

 

 

 

学习时候的“记事本”思考:

eclipes 快捷键设置   注销 生成main
写博客
研究数据结构算法

把eclipes的包合并了
创建类的快捷键 不好使了

cirl shift o引包

选中你要加注释的区域,用 Ctrl+shit+/  会加上 /*...*/ 注释,再用 Ctrl+shit+\  会去掉 /*...*/ 注释。(注意:正斜杠是加注释,反斜杠是去掉注释)

1.选中你要加注释的区域,用 Ctrl+Shift+C 或者 Ctrl+/ 会加上 // 注释,再重复按一下就会去掉 // 注释。(.js文件中只有 Ctrl+Shift+C 管用,.java文件中都管用)

https://www.cnblogs.com/chenmingjun/p/8876837.html

 

 

 

 

 

 

 

 

 

<think>好的,我现在需要帮助用户了解Java EE环境下Spring的基本概念和入门知识。首先,用户明确提到了“Java EE Spring 入门教程 基本概念”,所以我的回答需要涵盖Spring的核心概念,并结合Java EE的环境。根据用户提供的引用内容,我需要整合这些信息,确保引用的正确使用。 首先,用户提供的引用中有关于Spring框架的优点、入门程序、配置文件以及控制反转的内容。我需要将这些内容组织成一个结构清晰的回答,分点解释基本概念,并可能包含一个简单的入门示例。同时,根据系统级指令,必须使用中文,正确使用LaTeX格式的数学公式(虽然这里可能不涉及数学公式,但要注意其他格式要求),并在引用处添加标识。 接下来,我需要确定回答的结构。通常,入门教程的结构可能包括框架简介、核心概念、优点、入门步骤、示例代码以及常见问题。用户的问题集中在基本概念和入门知识,所以应该重点放在Spring的核心概念,比如IoC(控制反转)、DI(依赖注入)、Spring容器、配置文件等。同时,结合用户提供的引用中的代码示例,比如TestHelloSpring类和applicationContext.xml配置,可以展示一个简单的Spring应用创建过程。 另外,需要确保引用的正确引用。例如,引用[2]提到了Spring的优点,引用[3]和[5]提供了入门程序的代码示例,引用[4]涉及配置文件的结构。在回答中,当提到这些内容时,需要自然地添加引用标识,比如在解释控制反转时引用[5],在示例代码处引用[3]和[4]。 需要注意用户可能对Spring在Java EE中的作用不太清楚,需要简要说明Spring如何融入Java EE环境,比如简化企业级应用开发,整合其他Java EE技术等。同时,要避免过于深入的技术细节,保持入门级别的解释。 最后,生成的相关问题需要围绕Spring的基本概念和进一步学习的方向,比如IoC与DI的区别、Bean的作用域、Spring与其他框架的整合等。这些问题应帮助用户深化理解或进行下一步的学习。 现在,需要检查是否符合所有系统指令:使用中文、正确引用、LaTeX格式(虽然可能不涉及数学内容,但代码块需正确)、结构清晰、生成相关问题。同时确保引用标识正确,比如[^2]、[^3]等放置在对应的解释部分末尾。</think>### Java EE环境下Spring框架基本概念与入门指南 #### 一、Spring框架的核心概念 1. **控制反转(IoC)** Spring通过IoC容器管理对象的生命周期和依赖关系。开发者不再手动创建对象,而是由容器完成对象的创建和依赖注入。例如,通过XML配置文件定义Bean后,可直接从容器中获取实例[^5]。 数学示例:若对象依赖关系可表示为$A \rightarrow B \rightarrow C$,IoC容器会自动完成依赖链的构建。 2. **依赖注入(DI)** 是IoC的具体实现方式,通过构造函数、Setter方法或注解将依赖对象注入目标对象。例如: ```xml <bean id="userDao" class="com.example.UserDaoImpl"/> <bean id="userService" class="com.example.UserService"> <property name="userDao" ref="userDao"/> <!-- 注入依赖 --> </bean> ``` 此处`userService`的`userDao`属性由容器自动注入[^4]。 3. **Spring容器** 核心接口为`ApplicationContext`,负责加载配置文件并管理Bean。常用实现类包括: - `ClassPathXmlApplicationContext`:从类路径加载XML配置 - `FileSystemXmlApplicationContext`:从文件系统加载配置 #### 二、Spring框架的优势 1. **解耦与模块化** 通过DI降低组件间耦合度,提升代码复用性。 2. **整合企业级服务** 支持事务管理、安全框架等Java EE服务集成。 3. **声明式编程** 通过AOP实现日志、事务等横切关注点的声明式管理。 #### 三、入门实践:HelloSpring示例 1. **配置XML文件** ```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 http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="helloSpring" class="com.example.HelloSpring"/> </beans> ``` 此配置定义了一个名为`helloSpring`的Bean。 2. **Java测试类** ```java public class TestHelloSpring { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); HelloSpring hello = (HelloSpring) context.getBean("helloSpring"); hello.show(); // 输出: "Hello Spring!" } } ``` 此处通过容器获取Bean实例并调用方法[^3]。 #### 四、Spring在Java EE中的角色 Spring通过整合JDBC、JPA、消息队列等模块,简化企业级应用开发。例如: - 使用`Spring MVC`构建Web层 - 通过`Spring Data`简化数据库操作 - 利用`Spring Security`实现权限控制
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值