一、Spring的定义
Spring是Java EE编程领域的一个轻量级开源框架,Spring是一个开源容器框架,它集成各类型的工具,通过核心的Bean factory实现了底层的类的实例化和生命周期的管理。
Spring有两个核心部分:IOC和Aop
对于现阶段,大家理解Spring是一个Java开源框架接口,也是一个生态体系。其核心框架是Spring Framework,在此基础上又衍生出来Spring Boot、Spring Cloud、Spring Data、Spring Security等一系列优秀项目。
二、SpringMVC的定义
Spring MVC是Spring的一部分,Spring 出来以后,大家觉得很好用,于是按照这种模式设计了一个 MVC框架(一些用Spring 解耦的组件),主要用于开发WEB应用和网络接口,它是Spring的一个模块,通过Dispatcher Servlet, ModelAndView 和 View Resolver,让应用开发变得很容易,一个典型的Spring MVC应用开发分为下面几步:
首先通过配置文件声明Dispatcher Servlet:
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>com.qgd.oms.web.common.mvc.OmsDispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
通过配置文件声明servlet详情,如MVC resource,data source,bean等
<mvc:resources mapping="/css/**/*" location="/static/css/" cache-period="21600"/>
<mvc:resources mapping="/js/**/*" location="/static/js/" cache-period="21600"/>
<mvc:resources mapping="/views/**/*.html" location="/static/views/" cache-period="21600"/>
<mvc:resources mapping="/fonts/**/*" location="/static/fonts/"/>
<mvc:resources mapping="/ueditor/**/*" location="/static/js/lib/ueditor/"/>
<mvc:resources mapping="/img/**/*" location="/static/img/"/>
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="validationQuery" value="${jdbc.validationQuery}"/>
<property name="maxTotal" value="10"/>
<property name="minIdle" value="5"/>
<property name="maxIdle" value="10"/>
<property name="defaultAutoCommit" value="true"/>
<property name="testWhileIdle" value="true"/>
<property name="testOnBorrow" value="true"/>
<property name="poolPreparedStatements" value="true"/>
<property name="maxOpenPreparedStatements" value="50"/>
</bean>
<bean id="configService" class="com.qgd.oms.web.common.service.ConfigService">
<property name="configStore">
<bean class="com.qgd.oms.web.common.service.impl.DbConfigStore">
<property name="dataSource" ref="dataSource"/>
<property name="taskScheduler" ref="defaultScheduler"/>
<property name="refreshInterval" value="30000"/>
</bean>
</property>
</bean>
若需添加其它功能,如security,则需添加对应配置:
<http pattern="/css/**/*" security="none"/>
<http pattern="/js/**/*" security="none"/>
<http pattern="/views/**/*.html" security="none"/>
<http pattern="/fonts/**/*" security="none"/>
<http pattern="/ueditor/**/*" security="none"/>
<http pattern="/img/**/*" security="none"/>
<http use-expressions="true" entry-point-ref="omsAuthenticationEntryPoint">
<logout logout-url="/omsmc/authentication/logout/*" success-handler-ref="omsLogoutSuccessHandler"></logout>
<intercept-url pattern='/omsmc/authentication/login*' access="permitAll" />
<intercept-url pattern='/ms/**/*' access="permitAll" />
<intercept-url pattern='/**' access="authenticated" />
<!--<security:form-login />-->
<custom-filter ref="omsUsernamePasswordAuthenticationFilter" position="FORM_LOGIN_FILTER" />
<remember-me services-ref="omsRememberMeServices" key="yfboms"/>
<csrf disabled="true"/>
</http>
增加业务代码,如controller,service,model等,最后生成war包,通过容器进行启动
三、MVC的定义
MVC 模式是一种软件框架模式,被广泛应用在 JavaEE 项目的开发中。MVC 即模型(Model) 、视图(View)、控制器(Controller)。
四、创建一个Spring项目
- 用Idea新建一个项目,选择Spring(Legacy),记得勾选Create empty spring-config.xml。
注意,一些同学安装的idea没有Spring(Legacy),需要以下几个步骤:
1、去plugin里面下载插件:Spring Assistant。
2、windows下按住Ctrl + Shift + Alt + /,弹出,选择第一个registry,mac下按住option+command+Shift+/弹出并选择registry。
3、找到:javaee,legacy.projext.wizard并勾选。
4、重启IDEA即可。
- 项目名字及项目目录
- 在src目录下新建两个类:MyBook和Main类:
MyBook中写入以下代码
该类为一个基础的bean类,包含get、set方法,带参数构造器以及空参构造器。
public class MyBook {
private String bookName;
private String author;
public MyBook(String bookName, String author) {
this.bookName = bookName;
this.author = author;
}
public MyBook() {
}
public String getBookName() {
return bookName;
}
public String getAuthor() {
return author;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
public void setAuthor(String author) {
this.author = author;
}
}
在spring-config.xml文件中的<beans>标签中添加以下bean标签
<bean id="MyBook" class="MyBook">
<property name="bookName" value="活着"/>
<property name="author" value="余华"/>
</bean>
在Main中加入以下代码
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.ApplicationContext;
/**
* @author Tonny
* @version 2021.2
* @date 2023/6/9 23:52
*/
public class Main {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");
MyBook myBook = (MyBook) context.getBean("MyBook");
System.out.println("书名:"+myBook.getBookName()+"\n"+"作者:"+myBook.getAuthor());
}
}
然后便可以运行Main函数
若想深入学习Spring并创建编写项目的同学,可以参考一下链接:GitHub - Laverrr/bookstore: 网上书店(登陆注册,最近浏览,购物车,商品列表,商品详情)基于SSM框架开发的JavaWeb应用