IntelliJ IDEA环境搭建及Spring入门
IntelliJ IDEA安装、环境搭建
前言
IDEA 全称IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。另外对于用scala开发spark要更加友好一些。 IDEA的功能相较于Eclipse等常用开发工具强大很多
IDEA
环境配置
1. JDK
在配套使用上个人采用JDK8,即JDK1.8作为主要环境搭建,目前使用最广泛,受欢迎的版本
JDK8下载
环境配置
环境中创建JAVA_HOME该变量,并添加地址
在path变量中添加该地址,置于path变量中的首位
2. Tomcat
Tomcat下载
环境配置
3. maven
- maven主要是用来解决导入java类依赖的jar,编译java项目主要问题
- 项目导入jar。是通过copy方式导入项目中,而且还会存在jar之间的依赖和冲突。而maven解决
环境配置
软件
1. IDEA下载、安装
IDEA
剩下部分均以默认next继续
2. JDK配置
3. maven插件配置
-
IDEA集成maven插件
-
创建一个maven项目,测试maven插件是否完成配置
配置成功
Spring入门
简介
- Spring 是一个开源框架.
- Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实 现的功能.
- Spring 是一个 IOC(DI) 和 AOP 容器框架.
Spring
1. 项目创建
2. HelloWorld
- 在IDEA中创建一个java项目
- 代码片
public class helloWorld {
String name;
public void setName(String name) {
this.name = name;
}
public void sayHello(){
System.out.println("Hello "+name);
}
}
public class Main {
public static void main(String[] args) {
//1.创建helloWorld对象
helloWorld helloworld = new helloWorld();
//2.为name属性赋值
helloworld.setName("World");
//3.调用sayHello方法
helloworld.sayHello();
}
}
1. 创建一个helloWorld对象,并在该类中设置实例对象name的属性,调用hello()函数的方法
2. main函数中创建helloWorld对象,并对实例对象进行赋值,调用函数
3. HelloWorld(Spring框架)
接Sping项目创建
自动生成的Sping配置文件
所需的配置jar包
1. 开发步骤
- 导入坐标
- 创建Bean(dao和dao的实现)
- 创建applicationContext.xml
可自动创建配置文件
- 再配置文件中进行配置
- 创建ApplicationContext对象getBean;
2. Bean功能
传统编程方式
1: 实现各个接口
2: 将接口组织在一起组成服务
Spring Bean编程方式
1: 实现各个接口
2: 使用xml 声明各个bean ,程序启动时会完成bean 的初始化
3. xml中给bean对象属性注入值(依赖注入)
- 通过构造函数注入
- 通过setter方法注入值
- P名称空间注入值
4. Bean文件配置
获取Bean服务,并进行初始化
<bean id="helloWorld" class="beans.helloWorld">
<property name="name" value="Spring"></property>
</bean>
5. 实例
调用sayHello()函数发生改变
- 创建一个Spring的IOC容器对象
- 从IOC对象中获取在Bean中的实例对象
- 调用sayHello()方法
public class Main{
public static void main(String[] args){
//1.创建一个Spring的IOC容器对象
ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
//2.从IOC容器中获取Bean实例
helloWorld helloWorld = (beans.helloWorld) context.getBean("helloWorld");
//3.调用sayhello
helloWorld.sayHello();
}
}
未创建helloWorld实例对象,Spring框架下Bean实例自动实例化
此处无输出日志打印
输出日志打印需要配置
- 所需jar包log4j-1.2.13.jar
- 配置log4j.properties
public helloWorld(){
System.out.println("1");
}
public void setName(String name){
System.out.println("2");
this.name = name;
}
断点Dubug调试
执行第一步创建IOC容器对象的时候就调用了helloWorld类构造方法和setter方法
单步进行调试,调用helloWorld中函数,并对对象进行实例化
4. IOC
- 简介
- 应用控制反转,对象在创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象引用传递
- 控制反转就是对象获取所依赖的对象引用,是轻量级 Spring 框架的核心。
- 控制反转一般分为两种类型,依赖注入和依赖查找,依赖注入应用广泛。
在此齿轮图中,IOC容器相当于中间位置的“第三方”,使得ABCD四个对象的控制权全交由第三方进行控制,IOC可以看作是“粘合剂”
对象之间的依赖关系也越来越复杂,经常会出现对象之间的多重依赖性关系
去除IOC容器
ABCD这4个对象之间已经没有了耦合关系,彼此毫无联系,这样的话,当你在实现A的时候,根本无须再去考虑B、C和D了,对象之间的依赖关系已经降低到了最低程度。
- 注意
- IOC生成对象的方式是反射,在运行功率上会产生一定的损耗
- 具体到IOC框架产品(比如:Spring)来讲,需要进行大量的配制工作,比较繁琐