您当前的位置:首页 > 问答 > 内容

IntelliJ IDEA中AspectJ插件的安装及使用,IntelliJ(SSM框架搭建流程)

关于【IntelliJ IDEA中AspectJ插件的安装及使用】,IntelliJ,今天向乾小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

内容导航:1、泰涨知识 | SSM框架搭建流程2、IntelliJ IDEA中AspectJ插件的安装及使用

1、泰涨知识 | SSM框架搭建流程

目录

1.SpringMVC项目搭建流程

2.检查一下idea插件

3.创建项目需要使用的文件夹目录

4.检查WebApp目录是否正确

5.检查Webapp目录

6.引入所有相关SSM框架的依赖包(最完全版本)

7.创建Spring以及SpringMVC配置文件

8.修改Web.xml文件中的相关配置

9. 配置SpringMVC相关内容

10.Mybatis集成Spring、SpringMVC的配置

11.SSM完整调用demo案例

1.SpringMVC项目搭建流程

IntelliJ IDEA中AspectJ插件的安装及使用,IntelliJ(SSM框架搭建流程)

IntelliJ IDEA中AspectJ插件的安装及使用,IntelliJ(SSM框架搭建流程)

IntelliJ IDEA中AspectJ插件的安装及使用,IntelliJ(SSM框架搭建流程)

2.检查一下idea插件

Spring以及SpringMVC相关插件

IntelliJ IDEA中AspectJ插件的安装及使用,IntelliJ(SSM框架搭建流程)

lombok插件

IntelliJ IDEA中AspectJ插件的安装及使用,IntelliJ(SSM框架搭建流程)

MyBatis插件

IntelliJ IDEA中AspectJ插件的安装及使用,IntelliJ(SSM框架搭建流程)

3.创建项目需要使用的文件夹目录

IntelliJ IDEA中AspectJ插件的安装及使用,IntelliJ(SSM框架搭建流程)

4.检查WebApp目录是否正确

IntelliJ IDEA中AspectJ插件的安装及使用,IntelliJ(SSM框架搭建流程)

5.检查Webapp目录

IntelliJ IDEA中AspectJ插件的安装及使用,IntelliJ(SSM框架搭建流程)

6.引入所有相关SSM框架的依赖包(最完全版本)

<dependencies> <!-- springMVC、Spring相关依赖 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.2.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>5.2.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>5.2.3.RELEASE</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.8.9</version> </dependency> <!--测试--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <!--日志--> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.21</version> </dependency> <!--J2EE--> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.2</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!--mysql驱动包--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.22</version> </dependency> <!-- Fastjoson JSON处理工具 --><!-- TODO:gai --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.78</version> </dependency> <!-- 文件上传下载--> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.4</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.22</version> <scope>provided</scope> </dependency> <!-- 数据校验 --> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.1.0.Final</version> </dependency> <dependency> <groupId>org.jboss.logging</groupId> <artifactId>jboss-logging</artifactId> <version>3.1.0.CR2</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.1.0.Final</version> </dependency> <!-- @ResponesBody的新解决方案-jackson包 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.12.3</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.12.3</version> </dependency> <!-- Swagger2 - fasterxml --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.12.3</version> </dependency> <dependency> <groupId>com.fasterxml</groupId> <artifactId>classmate</artifactId> <version>1.5.1</version> </dependency> <!-- mybatis核心包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.7</version> </dependency> <!-- mybatis/spring包 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.0</version> </dependency> <!-- 阿里的druid连接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.2.8</version> <scope>compile</scope> </dependency> <!--日志--> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.2</version> </dependency> <!--swagger--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.6.1</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.6.1</version> </dependency> <!-- github分页 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.2.1</version> </dependency> </dependencies>

7.创建Spring以及SpringMVC配置文件

IntelliJ IDEA中AspectJ插件的安装及使用,IntelliJ(SSM框架搭建流程)

IntelliJ IDEA中AspectJ插件的安装及使用,IntelliJ(SSM框架搭建流程)

IntelliJ IDEA中AspectJ插件的安装及使用,IntelliJ(SSM框架搭建流程)

IntelliJ IDEA中AspectJ插件的安装及使用,IntelliJ(SSM框架搭建流程)

IntelliJ IDEA中AspectJ插件的安装及使用,IntelliJ(SSM框架搭建流程)

把生成的两个配置文件拖拽到resource目录下

IntelliJ IDEA中AspectJ插件的安装及使用,IntelliJ(SSM框架搭建流程)

IntelliJ IDEA中AspectJ插件的安装及使用,IntelliJ(SSM框架搭建流程)

8.修改Web.xml文件中的相关配置

(1)在resource目录创建Mybatis配置文件(名字叫mybatisConfig.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" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> <!-- 集成SpringMVC时Mybatis配置文件也将使用SpringBean的方式来配置 --></beans>

2)修改web.xml-加载mybatis配置文件以及项目名称

<web-app> <!-- 修改项目名称与创建的项目文件同名即可 --> <display-name>CZ_SSM1</display-name> <!-- 当spring容器加载时就会加载mybatis配置文件 --> <context-param> <param-name>contextConfigLocation</param-name> <!-- 指向mybatis配置文件路径 --> <param-value>classpath:mybatisConfig.xml</param-value> </context-param>

(3)修改web.xml-SpringMVC前端控制器配置

<!-- SpringMVC-前端控制器Servlet配置 --> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 当前端控制器servlet实例时,加载SpringMVC-前端控制器配置文件 --> <init-param> <param-name>contextConfigLocation</param-name> <!-- 指向生成的dispatcher-servlet.xml --> <param-value>classpath:dispatcher-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <!-- 拦截所有客户端请求进入mvc的前端控制器 --> <url-pattern>/</url-pattern> </servlet-mapping>

(4)修改web.xml-添加Spring字符编码过滤器

<!-- 字符编码过滤器 --> <!-- spring字符编码过滤器 --> <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>

(5)修改web.xml- 添加SpringMVC-REST请求规范过滤器

<!-- REstFul规范请求 --> <filter> <filter-name>HiddenHttpMethodFilter</filter-name> <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class> </filter> <filter-mapping> <filter-name>HiddenHttpMethodFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>

(6)修改web.xml-添加阿里druid连接池数据监控中心url路径映射

<!-- 阿里的druid连接池数据监控中心servlet --> <servlet> <servlet-name>DruidStatView</servlet-name> <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>DruidStatView</servlet-name> <url-pattern>/druid/*</url-pattern> </servlet-mapping><!-- http://localhost:8080/项目上下文/druid 进入阿里数据源监控中心 -->

9.配置SpringMVC相关内容

(1)各自小组创建自己的业务相关包,一定要在根目录下创建

IntelliJ IDEA中AspectJ插件的安装及使用,IntelliJ(SSM框架搭建流程)

附录:控制器层、业务接口层、业务实现层代码demo

package com.czdsj.base.controller;import com.czdsj.base.service.BaseService;import lombok.extern.slf4j.Slf4j;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import javax.annotation.Resource;/** * 学生基础信息采集模块-控制器层 * 2022/6/1 */@Controller@RequestMapping("/base")@Slf4j //日志注解 自动生成一个log对象public class BaseController { /** * 自动注入接口实现层, name是实现层类型首字母小写即可 */ @Resource(name = "baseServiceImpl") private BaseService baseService; /** * 页面跳转方法:返回值是String类型返回一个逻辑视图名 * 页面跳转方法不需要写@ResponseBody注解 ,请求类型是GET类型 * @return */ @RequestMapping(value = "/toLogin",method = RequestMethod.GET) public String toLogin(){ log.info("页面跳转-到登录页面"); return "逻辑视图名"; }}

package com.czdsj.base.service;/** * 学生基础信息采集-业务接口层 * 2022/6/1 */public interface BaseService {}

package com.czdsj.base.service;/** * 学生基础信息采集-业务接口层 * 2022/6/1 */public interface BaseService {}

(2)配置SpringMVC配置文件(dispatcher-servlet.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" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"><!-- 视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /> </bean> <!-- 最好手动去打 --> <!-- 依赖注入、控制器、service、@Valid --> <mvc:annotation-driven /> <!-- 扫描注解,加载实例 : @Component @Controller @Service --> <context:component-scan base-package="com.czdsj" /> <!-- 文件上传解析器 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="50000000"/> <property name="defaultEncoding" value="UTF-8" /> </bean> <!-- 静态资源文件引入 --> <mvc:resources location="/static/" mapping="/static/**" /></beans>

(1)配置视图解析器

配置视图文件夹

IntelliJ IDEA中AspectJ插件的安装及使用,IntelliJ(SSM框架搭建流程)

配置视图解析器

<!-- 视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/" /> <property name="suffix" value=".jsp" /> </bean>

(2)配置自动包扫描加入ioc容器

<!-- 最好手动去打 --> <!-- 依赖注入、控制器、service、@Valid --> <mvc:annotation-driven> <!-- 扫描注解,加载实例 : @Component @Controller @Service --> <context:component-scan base-package="com.czdsj" />

(3)文件上传下载解析器

<!-- 文件上传解析器 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="50000000"/> <property name="defaultEncoding" value="UTF-8" /> </bean>

(4)静态资源引入

1.创建一个静态资源文件夹

一定要创建在webapp目录下,与WEB-INF目录同级

IntelliJ IDEA中AspectJ插件的安装及使用,IntelliJ(SSM框架搭建流程)

2.在配置文件中配置静态资源路径

<!-- 静态资源文件引入 --> <mvc:resources location="/static/" mapping="/static/**" />

3.配置maven打包静态资源

在pom.xml文件中<build>标签下

<!-- maven静态资源打包 --> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> <include>**/*.js</include> <include>**/*.css</include> <include>**/*.html</include> </includes> <filtering>false</filtering> </resource> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properties</include> <include>**/*.xml</include> <include>**/*.js</include> <include>**/*.css</include> <include>**/*.html</include> </includes> <filtering>false</filtering> </resource> </resources>

10.Mybatis集成Spring、SpringMVC的配置

(1)引入依赖(注意不要重复引入,之前的demo中已经帮大家引入了)

<!-- mybatis/spring包 实现Spring的ORM框架接口 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>1.3.0</version> </dependency>

(2)编写Mybatis配置文件

1.创建一个外部配置mybatis数据源以及连接属性的配置文件(db.properties)

创建在resource目录下

#mybatis数据源以及连接池相关属性配置文件#mysql驱动driver=com.mysql.cj.jdbc.Driver#mysql的jdbc连接地址url=jdbc:mysql://localhost:3306/huawei?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8#mysql数据库的用户名userName=root#mysql数据库的密码pwd=root123456#连接池初始化连接数量initialSize=10#同一时间点允许活跃的最大连接数maxActive=30#最小连接池数量(当没有连接时自动创建新连接的数量)minIdle=1#每个连接请求的最长时间(单位毫秒)maxWait=60000

2.在mybatis配置文件中引入properties的配置

<!-- 引入配置文件 --> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <!-- value值指向你的外部mybatis属性配置文件 --> <property name="location" value="classpath:db.properties" /> </bean>

3.mybatis配置文件配置数据源(基于阿里巴巴druid连接池的配置)

<!-- 配置连接池(阿里druid连接池) --><!-- !!!!!写着${}的地方都要修改成你自己的配置引入 !!!!!!--> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" 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="initialSize" value="${initialSize}" /> <property name="minIdle" value="${minIdle}" /> <property name="maxActive" value="${maxActive}" /> <!-- 配置获取连接等待超时的时间 --> <property name="maxWait" value="${maxWait}" /> <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 --> <property name="timeBetweenEvictionRunsMillis" value="60000" /> <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --> <property name="minEvictableIdleTimeMillis" value="300000" /> <property name="testWhileIdle" value="true" /> <!-- 这里建议配置为TRUE,防止取到的连接不可用 --> <property name="testOnBorrow" value="true" /> <property name="testOnReturn" value="false" /> <!-- 打开PSCache,并且指定每个连接上PSCache的大小 --> <property name="poolPreparedStatements" value="true" /> <property name="maxPoolPreparedStatementPerConnectionSize" value="20" /> <!-- 这里配置提交方式,默认就是TRUE,可以不用配置 --> <property name="defaultAutoCommit" value="true" /> <!-- 验证连接有效与否的SQL,不同的数据配置不同 mysql:select 1 ;oracle : select 1 from dual --> <property name="validationQuery" value="select 1 from dual" /> <property name="filters" value="wall,stat" /> <property name="proxyFilters"> <list> <ref bean="logFilter" /> <ref bean="stat-filter" /> </list> </property> </bean> <!-- 慢SQL记录 --> <bean id="stat-filter" class="com.alibaba.druid.filter.stat.StatFilter"> <!-- 慢sql时间设置,即执行时间大于50毫秒的都是慢sql --> <property name="slowSqlMillis" value="50"/> <property name="logSlowSql" value="true"/> </bean> <bean id="logFilter" class="com.alibaba.druid.filter.logging.Slf4jLogFilter"> <property name="dataSourceLogEnabled" value="true" /> <property name="statementExecutableSqlLogEnable" value="true" /> </bean>

4.配置创建SQLSessionFactory工厂类

<!-- spring和mybatis完美整合,不需要mybatis的配置映射文件 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- ref指向数据源配置id --> <property name="dataSource" ref="dataSource" /> <!-- 自动扫描包中的类生成别名,如:com.a.User包 别名可以是User或user --> <property name="typeAliasesPackage" value="com.czdsj" /> <!-- 自动扫描mapping.xml文件 --> <property name="mapperLocations" value="classpath:com/czdsjmybatis/dao/*.xml"></property> </bean>

5.配置sqlSession创建规则

<!-- DAO接口所在的包名,spring会自动查找其下的类,!注意这句 value="sqlSessionFactory",不是ref而是value --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 指向mybatis接口文件所在的包 --> <property name="basePackage" value="com.czdsj.**.mybatis.dao" /> <!-- value指向配置sqlSessionFactory类的id --> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> </bean>

6.配置mybatis分页

a.引入pagehelper分页工具(注意不要重复导入依赖,之前案例中已经导入)

<!-- github分页 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.2.1</version> </dependency>

b.在mybatis配置文件中配置分页拦截器

<!-- pageHepler分页拦截器 --> <bean id="pageInterceptor" class="com.github.pagehelper.PageHelper"> <property name="properties"> <props> <prop key="helperDialect">mysql</prop> <prop key="reasonable">true</prop> <prop key="supportMethodsArguments">true</prop> <prop key="params">count=countSql</prop> </props> </property> </bean>

c.在SQLSessionFactory配置中添加分页工具配置

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <!-- 自动扫描mapping.xml文件 --> <property name="mapperLocations" value="classpath:com/huawei/mybatis/dao/*.xml"></property> <!-- 自动扫描包中的类生成别名,如:com.a.User包 别名可以是User或user --> <property name="typeAliasesPackage" value="com.czdsj" /> <!-- 附加的工具包 指向分页工具拦截器的id --> <property name="plugins" ref="pageInterceptor" /> </bean>

7.配置@Mapper注解的自动扫描

作用:在业务层中要使用mybatis的mapper接口实例时可以从ioc容器中自动注入调用,在mybatis配置文件中配置

<!-- 自动扫描@Mapper注解,将mybatis接口自动实现实例且交由给springMVC管理 --> <context:component-scan base-package="com.czdsj.**.mybatis.dao"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" /> </context:component-scan>

11.SSM完整调用demo案例:

(1)编写数据库与java映射实体对象

package com.czdsj.base.mybatis.domain;import lombok.Data;/** * 数据库Student表与JAVA映射的实体类 * 2022/6/1 */@Datapublic class StudentDo { private String code; private String userName; private Integer age;}

(2)编写mybatis映射接口(注意:一定要加@Mapper注解在类上)

package com.czdsj.base.mybatis.dao;import com.czdsj.base.mybatis.domain.StudentDo;import org.apache.ibatis.annotations.Mapper;import java.util.List;/** * Mybatis接口层 * 2022/6/1 */@Mapperpublic interface BaseMapper { /** * 查询出所有的学生信息-接口方法 * @return */ List<StudentDo> getStudentList();}

(3)编写接口同名对应的xml映射文件(注意:要在同一个包且名字完全相同)

2、IntelliJ IDEA中AspectJ插件的安装及使用

AspectJ是AOP的一种实现技术,IntelliJ IDEA是一款集成开发工具。在使用IntelliJ IDEA编写AspectJ代码之前需要本机先安装AspectJ,具体的安装步骤可以参考小编的其他文章。AspectJ的功能类似于拦截器,这是一种切面技术,我们可以使用AspectJ切入满足切点规则的所有方法,并在方法的执行前后加一些通用的处理,下面跟着小编一起去学习吧。

工具/材料

IntelliJ IDEA

操作方法

首先我们打开IntelliJ IDEA开发工具,在菜单栏点击File-->Settings-->Plungins,进入到插件管理的页面。接下来我们在右侧的搜索框输入Aspect查询,下图在输入到Asp时便会模糊查询出结果,我们将AspectJ Support和Spring AOP/@AspectJ后面的方框勾选上即可。

接下来我们按住Ctrl+Shift+Alt+S,或者点击下图中所示的图标进入到Project Structure页面,点击Project Settings下方的Libraries,然后点击"+"号,最后选择Java,在接下来弹出的页面中选择aspectjrt.jar这个jar包。

接下来再回到Project Structure下方的Libraries设置,选择需要应用AspectJ的工程,然后点击“OK”按钮即可。

接下来进入到真正使用的部分了,我们首先创建一个Aspect切面,类似于创建一个类。在IntelliJ IDEA的菜单中点击“New”,新建一个Aspect。我们给这个切面取个名字MyAspectJ,注意下方的kind类别是Aspect,这里生成的aspectJ文件是.aj后缀的,而不是.class后缀的,这一点希望大家注意。

生成的aspectJ文件是.aj后缀的,所以原来的编译工具javac便不能使用了,因此我们需要修改编译工具。菜单栏点击File-->Settings-->搜索Compile,结构为Build,Execution,Deployment-->Compiler-->Java Compiler。我们右侧将Use Compiler修改为Ajc,在Path to Ajc compiler中选择安装目录下的aspectjtools.jar。

以上编译工具也设置完了,我们开始编写代码了。首先我们写一个入门的HelloWorld类,该类中有一个需要被AspectJ切面拦截的方法sayHello(),还有一个main方法用于执行程序。

然后我们再完善上面创建的MyAspectJ,创建pointcut切点,注意该写法是aspectJ特有的语法。pointcut表示定义的是一个切点,logPointCut()是切点的名字,call()里面是需要拦截的,* 标识返回值是任意类型,然后是类名.方法名(),..表示任意类型的参数。我们定义before()和after()这两个前置和后置拦截,分别用于在别拦截方法的前后执行。

最后在HelloWorld类执行main方法启动程序,我们看一下执行的结果,可以看到在sayHello()方法的执行前后分别执行了拦截。

特别提示

.aj后缀的文件必须要使用Ajc的编译器,javac不可以编译。

本文关键词:intellij idea怎么用,intellij怎么读,intellijidea安装教程,intellij idea怎么创建java项目,intellij idea安装。这就是关于《IntelliJ IDEA中AspectJ插件的安装及使用,IntelliJ(SSM框架搭建流程)》的所有内容,希望对您能有所帮助!


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 北京奥运会金牌,北京奥运会中国共获得多少金牌(北京奥运会中国金牌回顾)

下一篇: 电脑无无线网络图标的解决方法,电脑不见无线网络图标(电脑下角网络图标上有个感叹号怎么办)



猜你感兴趣

推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号