- 浏览: 611262 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (263)
- 默认类别 (0)
- STRUTS HIBERNATE (2)
- STRUTS SPRING HIBERNATE (18)
- SOA/WEB service (8)
- PORTAL (3)
- 想法和设计思想 (17)
- SMARTEAM 二次开发 (0)
- ACTIVEBPEL (0)
- ERP (0)
- EAI (0)
- 甲醇汽油 (0)
- webwork freemarker spring hibernate (1)
- 工作流技术研究 (1)
- ROR (5)
- 搜索引擎 (7)
- 3.非技术区 (0)
- 1.网站首页原创Java技术区(对首页文章的要求: 原创、高质量、经过认真思考并精心写作。BlogJava管理团队会对首页的文章进行管理。) (2)
- 2.Java新手区 (2)
- 4.其他技术区 (0)
- ESB (1)
- Petals ESB (6)
- 手机开发 (1)
- docker dedecms (1)
最新评论
-
w630636065:
楼主,期待后续!!!!!!!!
生成文本聚类java实现 (2) -
zilong513:
十分感谢楼主,期待后续。
生成文本聚类java实现 (2) -
qqgoodluck:
可否介绍一下您的选型依据,包括Petal ESB与MULE等E ...
Petals ESB 简介 -
jackiee_cn:
写的比较清楚,学习了
Petals ESB 集群实战 -
忙两夜:
你好,能发一下源代码吗
抓取口碑网店铺资料
本文使用spring集成hibernate完成一个liferay portlet的开发,做为plugin的方式部署到liferay容器当中。提供源代码下载。
版本约束:
Spring 3.0 及以上
Hiberante 3.5
Liferay 6.0及以上
构建基制:
Ant
Maven
知识点描述:
使用Hiberante+jndi的方式,否则使用Hiberante+jdbc的话,在liferay当中部署不成功,然后再集成Spring,最前端使用GenericPortlet。
开发配置:
web.xml
<?xml version="1.0"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <display-name>AntBee Portlet</display-name> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/classes/log4j.properties</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> </web-app>
Spring的配置文件:applicationContext.xml,放在\WEB-INF\applicationContext.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:util="http://www.springframework.org/schema/util" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd "> <aop:aspectj-autoproxy /> <context:component-scan base-package="com.antbee.portlet" /> <jee:jndi-lookup jndi-name="java:comp/env/jdbc/myportalDB" id="dataSource" /> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="annotatedClasses"> <list> <value>com.antbee.portlet.domain.MonitorItem</value> <value>com.antbee.portlet.domain.SearchResult4Db</value> </list> </property> </bean> <tx:annotation-driven transaction-manager="txManager" /> <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> <bean id="loggingAspect" class="com.antbee.portlet.base.LoggingAspect" /> </beans>
针对Liferay Portlet的几个配置文件:portlet.xml,放在目录:WEB-INF\portlet.xml
<?xml version="1.0" encoding="UTF-8"?> <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"> <portlet> <portlet-name>resultForNews</portlet-name> <portlet-class>com.antbee.portlet.base.SearchResultPortlet</portlet-class> <expiration-cache>1000</expiration-cache> <cache-scope>private</cache-scope> <supports> <mime-type>text/html</mime-type> <portlet-mode>view</portlet-mode> </supports> <resource-bundle>content.Language-ext</resource-bundle> <portlet-info> <title>安特比软件-Portlet演示</title> </portlet-info> </portlet> </portlet-app>
接上面,同样是portlet的配置文件:liferay-display.xml,放在目录WEB-INF\liferay-display.xml
<?xml version="1.0"?> <!DOCTYPE display PUBLIC "-//Liferay//DTD Display 6.0.0//EN" "http://www.liferay.com/dtd/liferay-display_6_0_0.dtd"> <display> <category name="antbee.portlet.function"> <portlet id="resultForNews" /> </category> </display>
接上面,同样是portlet的配置文件:liferay-portlet.xml,放在目录WEB-INF\liferay-portlet.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 6.0.0//EN" "http://www.liferay.com/dtd/liferay-portlet-app_6_0_0.dtd"> <liferay-portlet-app> <portlet> <portlet-name>resultForNews</portlet-name> <instanceable>true</instanceable> <remoteable>true</remoteable> <header-portlet-css>/css/bookCatalog.css</header-portlet-css> <header-portlet-javascript>/js/bookCatalog.js</header-portlet-javascript> </portlet> </liferay-portlet-app>
前端继承的GenericPortlet的SearchResultPortlet.java
package com.antbee.portlet.base; import java.io.IOException; import java.util.Enumeration; import java.util.List; import java.util.Map; import javax.portlet.GenericPortlet; import javax.portlet.PortalContext; import javax.portlet.PortletException; import javax.portlet.PortletMode; import javax.portlet.PortletRequest; import javax.portlet.RenderMode; import javax.portlet.RenderRequest; import javax.portlet.RenderResponse; import javax.portlet.WindowState; import org.apache.log4j.Logger; import org.springframework.context.ApplicationContext; import org.springframework.web.portlet.context.PortletApplicationContextUtils; import com.antbee.portlet.service.SearchResultService; import com.antbee.portlet.utils.Constants; /** * * @author Weiya * */ public class SearchResultPortlet extends GenericPortlet { private Logger logger = Logger.getLogger(SearchResultPortlet.class); private static SearchResultService searchResultService; public void init() { searchResultService = getSearchResultService(); } public SearchResultService getSearchResultService() { ApplicationContext springCtx = PortletApplicationContextUtils.getWebApplicationContext(getPortletContext()); return (SearchResultService)springCtx.getBean("searchResultService"); } @RenderMode(name = "VIEW") public void showSearchResult(RenderRequest request, RenderResponse response) throws IOException, PortletException { logger.info("Inside showSearchResult method"); PortalContext context = request.getPortalContext(); printSupportedPortletModes(context); printSupportedWindowStates(context); Map userAttributeMap = (Map) request .getAttribute(PortletRequest.USER_INFO); String firstName = ""; String lastName = ""; if (userAttributeMap != null) { firstName = (String) userAttributeMap.get("user.name.given"); lastName = (String) userAttributeMap.get("user.name.family"); // --set firstName and lastName in request so that JSP can pick // --from the request request.setAttribute("firstName", firstName); request.setAttribute("lastName", lastName); } String jspPage = "home.jsp"; // Got Data List results = searchResultService.getKeyWordByMonitorItem(3); request.setAttribute("results", results); getPortletContext().getRequestDispatcher( response.encodeURL(Constants.PATH_TO_JSP_FUNCTION_PAGE + jspPage)) .include(request, response); } //-- Print supported portlet modes by the portal server private void printSupportedPortletModes(PortalContext context) { // -- supported portlet modes by the portal server Enumeration<PortletMode> portletModes = context .getSupportedPortletModes(); while (portletModes.hasMoreElements()) { PortletMode mode = portletModes.nextElement(); logger.info("Support portlet mode " + mode.toString()); } } //-- prints support window states by the portal server private void printSupportedWindowStates(PortalContext context) { // -- supported window states by the portal server Enumeration<WindowState> windowStates = context .getSupportedWindowStates(); while (windowStates.hasMoreElements()) { WindowState windowState = windowStates.nextElement(); logger.info("Support window state " + windowState.toString()); } } }
还有构建脚本:build.xml
<?xml version="1.0"?> <!-- define the project --> <project name="antbeePortlet" default="build" basedir="."> <!-- define project properties --> <property name="compiler" value="modern" /> <property name="fork" value="no" /> <property name="verbose" value="no" /> <property name="debug" value="on" /> <property name="optimize" value="on" /> <property name="deprecation" value="on" /> <property name="target" value="1.5" /> <property name="source" value="1.5" /> <property file="build.properties" /> <property environment="env" /> <!-- define properties to refer to directories in the project --> <property name="webinf.dir" value="WEB-INF" /> <property name="webinf.lib.dir" value="WEB-INF/lib" /> <property name="lib.dir" value="lib" /> <property name="src.dir" value="src" /> <property name="test.dir" value="test" /> <property name="build.dir" value="build" /> <property name="webinf.classes.dir" value="${webinf.dir}/classes" /> <property name="webinf.classes.content.dir" value="${webinf.dir}/classes/content" /> <property name="web.xml" value="${webinf.dir}/web.xml" /> <fileset id="webapp.libs" dir="${webinf.lib.dir}"> <include name="*.jar" /> </fileset> <fileset id="libs" dir="${lib.dir}"> <include name="*.jar" /> </fileset> <path id="class.path"> <pathelement path="${webinf.classes.dir}" /> <fileset refid="webapp.libs" /> <fileset refid="libs" /> </path> <pathconvert pathsep=":" property="class.path" refid="class.path" /> <fileset id="war.files" dir="."> <include name="${webinf.dir}/**" /> <exclude name="${webinf.dir}/Language-ext*.properties" /> <exclude name="${webinf.dir}/ValidationMessages.properties" /> <include name="images/**" /> <include name="css/**" /> <include name="js/**" /> <exclude name="${web.xml}" /> </fileset> <!-- compile target to compile the sources --> <target name="compile"> <mkdir dir="${webinf.classes.dir}" /> <!-- Content directory contains Liferay resource bundle--> <mkdir dir="${webinf.classes.content.dir}" /> <javac srcdir="${src.dir}:${test.dir}" destdir="${webinf.classes.dir}" fork="${fork}" verbose="${verbose}" deprecation="${deprecation}" debug="${debug}" optimize="${optimize}" compiler="${compiler}" target="${target}" source="${source}"> <classpath refid="class.path" /> </javac> <copy todir="${webinf.classes.dir}" preservelastmodified="true"> <fileset dir="${src.dir}"> <include name="**/*.properties" /> <include name="**/*.xml" /> </fileset> </copy> <copy todir="${webinf.classes.content.dir}"> <fileset dir="${webinf.dir}"> <include name="Language-ext*.properties" /> </fileset> </copy> </target> <!-- target to create the project WAR file --> <target name="build" depends="clean,compile"> <mkdir dir="${build.dir}" /> <war destfile="${build.dir}/antbeePortlet.war" webxml="${web.xml}"> <fileset refid="war.files" /> </war> <copy todir="${liferay.portal.home}/deploy"> <fileset dir="${build.dir}"> <include name="**/*.war" /> </fileset> </copy> </target> <!-- target to clean up all files created by various tasks --> <target name="clean"> <delete quiet="true" includeemptydirs="true"> <fileset dir="${webinf.classes.dir}" includes="**/*" /> <fileset dir="${build.dir}" /> <fileset dir="${work.dir}" /> </delete> </target> </project>
另外一个是SVN的构建脚本pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>antbee</groupId> <artifactId>antbeePortlet</artifactId> <packaging>war</packaging> <version>1.0</version> <repositories> <repository> <id>JBoss Repository</id> <url>http://repository.jboss.com/maven2</url> </repository> </repositories> <build> <sourceDirectory>${project.basedir}/src</sourceDirectory> <outputDirectory>${project.basedir}/target/classes</outputDirectory> <resources> <resource> <targetPath>content</targetPath> <directory>WEB-INF</directory> <includes> <include>Language-ext.properties</include> </includes> </resource> </resources> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.0.2</version> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> <plugin> <artifactId>maven-war-plugin</artifactId> <version>2.1-alpha-2</version> <configuration> <webResources> <resource> <directory>css</directory> <targetPath>css</targetPath> </resource> <resource> <directory>js</directory> <targetPath>js</targetPath> </resource> <resource> <directory>images</directory> <targetPath>images</targetPath> </resource> <resource> <directory>WEB-INF/jsp/</directory> <targetPath>WEB-INF/jsp</targetPath> </resource> <resource> <directory>WEB-INF</directory> <targetPath>WEB-INF</targetPath> <includes> <include>**/*.xml</include> </includes> <excludes> <exclude>Language-ext.properties</exclude> </excludes> </resource> </webResources> <webXml>${project.basedir}/WEB-INF/web.xml</webXml> </configuration> </plugin> </plugins> </pluginManagement> </build> <dependencies> <dependency> <groupId>javax.portlet</groupId> <artifactId>portlet-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.14</version> </dependency> <dependency> <groupId>taglibs</groupId> <artifactId>standard</artifactId> <version>1.1.2</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.2.1</version> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.4</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>3.5.0-Final</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-annotations</artifactId> <version>3.5.0-Final</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-asm</artifactId> <version>3.0.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>3.0.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>3.0.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>3.0.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-expression</artifactId> <version>3.0.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc-portlet</artifactId> <version>3.0.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>3.0.0.RELEASE</version> </dependency> <dependency> <groupId>aopalliance</groupId> <artifactId>aopalliance</artifactId> <version>1.0</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>1.6.8</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.6.8</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId> <version>3.0.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>3.0.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>3.0.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>3.0.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>3.0.0.RELEASE</version> <scope>test</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.4</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.5.6</version> </dependency> <dependency> <groupId>org.hibernate.javax.persistence</groupId> <artifactId>hibernate-jpa-2.0-api</artifactId> <version>1.0.0.Final</version> </dependency> <dependency> <groupId>javassist</groupId> <artifactId>javassist</artifactId> <version>3.9.0.GA</version> </dependency> </dependencies> </project>
哈哈。如果完成项目后,可以通过:
ANT脚本: ant clean build
MAVEN脚本:mvn clean install构建项目
在部署到liferay时,要创建jndi的连接方式,如下是我的创建过程和脚本:(目标是TOMCAT服务器)
Add <Resource> element in server.xml, inside <GlobalNamingResources> element.
<GlobalNamingResources> .. <Resource name="jdbc/myportalDB" auth="Container" type="javax.sql.DataSource" username="root" password="root" driverClassName="com.mysql.jdbc.Driver" factory="org.apache.commons.dbcp.BasicDataSourceFactory" url="jdbc:mysql://localhost/myportaldb?useUnicode=true&" maxActive="5" maxIdle="2"/> .. </GlobalNamingResources>
Add <ResourceLink> element in context.xml file, inside <Context> element.
<Context> .... <ResourceLink name="jdbc/myportalDB" global="jdbc/myportalDB" type="javax.sql.DataSource"/> .... </Context>
重新启动,enjoy it!
不买关子,提供代码让大家下载,如果有什么不明白的,请留言。(eclipse项目,可以直接导入)
下载代码当中去掉了jar,如下是抓图:
相关推荐
spring portletMVC
此外,"plugins开发指南11-plugin中开发hibernate应用.pdf"涵盖了在Liferay中使用Hibernate进行数据持久化的实践方法,这对于处理复杂业务逻辑至关重要。 "plugins开发指南13-liferay中使用ldap分析.pdf"讨论了...
风光储直流微电网Simulink仿真模型:光伏发电、风力发电与混合储能系统的协同运作及并网逆变器VSR的研究,风光储直流微电网Simulink仿真模型:MPPT控制、混合储能系统、VSR并网逆变器的设计与实现,风光储、风光储并网直流微电网simulink仿真模型。 系统由光伏发电系统、风力发电系统、混合储能系统(可单独储能系统)、逆变器VSR?大电网构成。 光伏系统采用扰动观察法实现mppt控制,经过boost电路并入母线; 风机采用最佳叶尖速比实现mppt控制,风力发电系统中pmsg采用零d轴控制实现功率输出,通过三相电压型pwm变器整流并入母线; 混合储能由蓄电池和超级电容构成,通过双向DCDC变器并入母线,并采用低通滤波器实现功率分配,超级电容响应高频功率分量,蓄电池响应低频功率分量,有限抑制系统中功率波动,且符合储能的各自特性。 并网逆变器VSR采用PQ控制实现功率入网。 ,风光储; 直流微电网; simulink仿真模型; 光伏发电系统; 最佳叶尖速比控制; MPPT控制; Boost电路; 三相电压型PWM变换器;
以下是针对初学者的 **51单片机入门教程**,内容涵盖基础概念、开发环境搭建、编程实践及常见应用示例,帮助你快速上手。
【Python毕设】根据你提供的课程代码,自动排出可行课表,适用于西工大选课_pgj
【毕业设计】[零食商贩]-基于vue全家桶+koa2+sequelize+mysql搭建的移动商城应用
电动汽车充电背景下的微电网谐波抑制策略与风力发电系统仿真研究,电动汽车充电微电网的谐波抑制策略与风力发电系统仿真研究,基于电动汽车充电的微电网谐波抑制策略研究,包括电动汽车充电负 载模型,风电模型,光伏发现系统,储能系统,以及谐波处理模块 风力发电系统仿真 ,电动汽车充电负载模型; 风电模型; 光伏发现系统; 储能系统; 谐波处理模块; 风力发电系统仿真,电动汽车充电微电网的谐波抑制策略研究:整合负载模型、风电模型与光伏储能系统
Vscode部署本地Deepseek的continue插件windows版本
内容概要:本文详细介绍了滤波器的两个关键参数——截止频率(F0)和品质因素(Q),并探讨了不同类型的滤波器(包括低通、高通、带通和带阻滤波器)的设计方法及其特性。文章首先明确了F0和Q的基本概念及其在滤波器性能中的作用,接着通过数学推导和图形展示的方式,解释了不同Q值对滤波器频率响应的影响。文中特别指出,通过调整Q值可以控制滤波器的峰谷效果和滚降速度,进而优化系统的滤波性能。此外,还讨论了不同类型滤波器的具体应用场景,如低通滤波器适用于消除高频噪声,高通滤波器用于去除直流分量和低频干扰,而带通滤波器和带阻滤波器分别用于选取特定频段信号和排除不需要的频段。最后,通过对具体案例的解析,帮助读者更好地理解和应用相关理论。 适合人群:电子工程及相关领域的技术人员、研究人员以及高校学生,特别是那些需要深入了解滤波器设计原理的人群。 使用场景及目标:适用于从事模拟电路设计的专业人士,尤其是希望掌握滤波器设计细节和技术的应用场合。目标是让读者能够灵活运用Q值和F0来优化滤波器设计,提升系统的信噪比和选择性,确保信号的纯净性和完整性。
内容概要:本文主要讲述了利用QUARTUSⅡ进行电子设计自动化的具体步骤和实例操作,详细介绍了如何利用EDA技术在QUARTUSⅡ环境中设计并模拟下降沿D触发器的工作过程,重点探讨了系统规格设计、功能描述、设计处理、器件编译和测试四个步骤及相关的设计验证流程,如功能仿真、逻辑综合及时序仿真等内容,并通过具体的操作指南展示了电路设计的实际操作方法。此外还强调了QUARTUSⅡ作为一款集成了多种功能的综合平台的优势及其对于提高工作效率的重要性。 适用人群:电子工程、自动化等相关专业的学生或者工程师,尤其适用于初次接触EDA技术和QuartusⅡ的用户。 使用场景及目标:旨在帮助用户理解和掌握使用QUARTUSⅡ这一先进的EDA工具软件进行从概念设计到最后成品制作整个电路设计过程的方法和技巧。目标是在实际工作中能够熟练运用QUARTUSⅡ完成各类复杂电子系统的高效设计。 其他说明:文中通过具体的案例让读者更直观理解EDA设计理念和技术特点的同时也为进一步探索EDA领域的前沿课题打下了良好基础。此外它还提到了未来可能的发展方向,比如EDA工具的功能增强趋势等。
Simulink建模下的光储系统与IEEE33节点配电网的协同并网运行:光照强度变化下的储能系统优化策略与输出性能分析,Simulink模型下的光伏微网系统:光储协同,实现380v电压等级下的恒定功率并网与平抑波动,Simulink含光伏的IEEE33节点配电网模型 微网,光储系统并网运行 光照强度发生改变时,储能可以有效配合光伏进行恒定功率并网,平抑波动,实现削峰填谷。 总的输出有功为270kw(图23) 无功为0 检验可以并网到电压等级为380v的电网上 逆变侧输出电压电流稳定(图4) ,Simulink; 含光伏; 配电网模型; 微网; 光储系统; 储能配合; 恒定功率并网; 电压等级; 逆变侧输出。,Simulink光伏微网模型:光储协同并网运行,实现功率稳定输出
基于Andres ELeon新法的双馈风机次同步振荡抑制策略:附加阻尼控制(SDC)的实践与应用,双馈风机次同步振荡的抑制策略研究:基于转子侧附加阻尼控制(SDC)的应用与效能分析,双馈风机次同步振荡抑制策略(一) 含 基于转子侧附加阻尼控制(SDC)的双馈风机次同步振荡抑制,不懂就问, 附加阻尼控制 (SDC)被添加到 RSC 内部控制器的q轴输出中。 这种方法是由Andres ELeon在2016年提出的。 该方法由增益、超前滞后补偿器和带通滤波器组成。 采用实测的有功功率作为输入信号。 有关更多信息,你可以阅读 Andres ELeon 的lunwen。 附lunwen ,关键词:双馈风机、次同步振荡、抑制策略;转子侧附加阻尼控制(SDC);RSC内部控制器;Andres ELeon;增益;超前滞后补偿器;带通滤波器;实测有功功率。,双馈风机次同步振荡抑制技术:基于SDC与RSCq轴控制的策略研究
springboot疫情防控期间某村外出务工人员信息管理系统--
高效光伏并网发电系统MATLAB Simulink仿真设计与MPPT技术应用及PI调节闭环控制,光伏并网发电系统MATLAB Simulink仿真设计:涵盖电池、BOOST电路、逆变电路及MPPT技术效率提升,光伏并网发电系统MATLAB Simulink仿真设计。 该仿真包括电池,BOOST升压电路,单相全桥逆变电路,电压电流双闭环控制部分;应用MPPT技术,提高光伏发电的利用效率。 采用PI调节方式进行闭环控制,SPWM调制,采用定步长扰动观测法,对最大功率点进行跟踪,可以很好的提高发电效率和实现并网要求。 ,光伏并网发电系统; MATLAB Simulink仿真设计; 电池; BOOST升压电路; 单相全桥逆变电路; 电压电流双闭环控制; MPPT技术; PI调节方式; SPWM调制; 定步长扰动观测法。,光伏并网发电系统Simulink仿真设计:高效MPPT与PI调节控制策略
PFC 6.0高效循环加载系统:支持半正弦、半余弦及多级变荷载功能,PFC 6.0循环加载代码:支持半正弦、半余弦及多级变荷载的强大功能,PFC6.0循环加载代码,支持半正弦,半余弦函数加载,中间变荷载等。 多级加载 ,PFC6.0; 循环加载代码; 半正弦/半余弦函数加载; 中间变荷载; 多级加载,PFC6.0多级半正弦半余弦循环加载系统
某站1K的校园跑腿小程序 多校园版二手市场校园圈子失物招领 食堂/快递代拿代买跑腿 多校版本,多模块,适合跑腿,外卖,表白,二手,快递等校园服务 需要自己准备好后台的服务器,已认证的小程序,备案的域名!
【Python毕设】根据你提供的课程代码,自动排出可行课表,适用于西工大选课
COMSOL锂枝晶模型:五合一的相场、浓度场与电场模拟研究,涵盖单枝晶定向生长、多枝晶生长及无序生长等多元现象的探索,COMSOL锂枝晶模型深度解析:五合一技术揭示单枝晶至雪花枝晶的生长机制与物理场影响,comsol锂枝晶模型 五合一 单枝晶定向生长、多枝晶定向生长、多枝晶随机生长、无序生长随机形核以及雪花枝晶,包含相场、浓度场和电场三种物理场(雪花枝晶除外),其中单枝晶定向生长另外包含对应的参考文献。 ,comsol锂枝晶模型; 五合一模型; 单枝晶定向生长; 多枝晶定向生长; 多枝晶随机生长; 无序生长随机形核; 雪花枝晶; 相场、浓度场、电场物理场; 参考文献,COMSOL锂枝晶模型:多场景定向生长与相场电场分析
嵌入式大学生 点阵代码